diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-04 21:31:26 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-11 06:30:25 -0400 |
commit | 6e053d6c79b3c1c9f6efc6563a811023c41be86a (patch) | |
tree | 579cb648734e1283873d7f4f7195c231f5062197 /drivers/net/wimax/i2400m/fw.c | |
parent | 1c0b2dd75772cbce0aef8886b7f38313542216de (diff) |
wimax/i2400m: don't reset device when bootrom init retries are exceeded
When i2400m_bootrom_init() fails to put the device into a state of
being ready to accept firmware, the driver was currently trying to
reset it if it failed to do so. This is not too useful; as part of
trying to put the device in the right state a few resets have already
been tried.
At this point, things are probably fried out and an extra reset might
do more harm than good (for example causing reseting of other
functions in the same composite device).
So it is left up to the callers to determine the error path to take
(at the end this is always i2400m_setup(), who depending on how many
retries are left, might give up on the device).
From a fix by Cindy H. Kao.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/fw.c')
-rw-r--r-- | drivers/net/wimax/i2400m/fw.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c index 349344ad9b61..e81750e54452 100644 --- a/drivers/net/wimax/i2400m/fw.c +++ b/drivers/net/wimax/i2400m/fw.c | |||
@@ -696,8 +696,7 @@ error_dev_gone: | |||
696 | return result; | 696 | return result; |
697 | 697 | ||
698 | error_timeout: | 698 | error_timeout: |
699 | dev_err(dev, "Timed out waiting for reboot ack, resetting\n"); | 699 | dev_err(dev, "Timed out waiting for reboot ack\n"); |
700 | i2400m->bus_reset(i2400m, I2400M_RT_BUS); | ||
701 | result = -ETIMEDOUT; | 700 | result = -ETIMEDOUT; |
702 | goto exit_timeout; | 701 | goto exit_timeout; |
703 | } | 702 | } |