diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-03 03:45:55 +0200 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-11 12:30:23 +0200 |
commit | b4013f91cdda10f3f15530914f3c7f39738b0b50 (patch) | |
tree | 8dc5ab721c3f2028de4e2372436f76bb059a9fff /drivers/net/wimax/i2400m/driver.c | |
parent | wimax/i2400m: fix oops when the TX FIFO fills up due to a missing check (diff) | |
download | linux-b4013f91cdda10f3f15530914f3c7f39738b0b50.tar.xz linux-b4013f91cdda10f3f15530914f3c7f39738b0b50.zip |
wimax/i2400m: if a device reboot happens during probe, handle it
When a device reboot happens when we are under probe, with init_mutex
taken, make sure we can recover. Have dev_reset_handle set boot mode
and i2400m_msg_to_dev() will see it and fail gracefully instead of
timing out.
Found and diagnosed by Cindy H. Kao.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/driver.c')
-rw-r--r-- | drivers/net/wimax/i2400m/driver.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/driver.c b/drivers/net/wimax/i2400m/driver.c index 897794c9209e..e8d022d58427 100644 --- a/drivers/net/wimax/i2400m/driver.c +++ b/drivers/net/wimax/i2400m/driver.c @@ -610,6 +610,8 @@ out: */ int i2400m_dev_reset_handle(struct i2400m *i2400m) { + i2400m->boot_mode = 1; + wmb(); /* Make sure i2400m_msg_to_dev() sees boot_mode */ return i2400m_schedule_work(i2400m, __i2400m_dev_reset_handle, GFP_ATOMIC); } |