wimax/i2400m: don't reset device when bootrom init retries are exceeded
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Fri, 5 Jun 2009 01:31:26 +0000 (09:31 +0800)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Thu, 11 Jun 2009 10:30:25 +0000 (03:30 -0700)
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>
drivers/net/wimax/i2400m/fw.c

index 349344a..e81750e 100644 (file)
@@ -696,8 +696,7 @@ error_dev_gone:
        return result;
 
 error_timeout:
-       dev_err(dev, "Timed out waiting for reboot ack, resetting\n");
-       i2400m->bus_reset(i2400m, I2400M_RT_BUS);
+       dev_err(dev, "Timed out waiting for reboot ack\n");
        result = -ETIMEDOUT;
        goto exit_timeout;
 }