diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-03 04:13:14 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-06-11 06:30:23 -0400 |
commit | ecddfd5ed73c070413f07a5251c16c10e69f35a2 (patch) | |
tree | 4caaeedf3b8a49441d3656ffdd2ac8e8479991a2 /drivers/net/wimax/i2400m/sdio.c | |
parent | b4013f91cdda10f3f15530914f3c7f39738b0b50 (diff) |
wimax/i2400m: Allow bus-specific driver to specify retry count
The code that sets up the i2400m (firmware load and general driver
setup after it) includes a couple of retry loops.
The SDIO device sometimes can get in more complicated corners than the
USB one (due to its interaction with other SDIO functions), that
require trying a few more times.
To solve that, without having a failing USB device taking longer to be
considered dead, allow the retry counts to be specified by the
bus-specific driver, which the general driver takes as a parameter.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/sdio.c')
-rw-r--r-- | drivers/net/wimax/i2400m/sdio.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/sdio.c b/drivers/net/wimax/i2400m/sdio.c index d6fac5ccf938..afde89770044 100644 --- a/drivers/net/wimax/i2400m/sdio.c +++ b/drivers/net/wimax/i2400m/sdio.c | |||
@@ -418,6 +418,9 @@ int i2400ms_probe(struct sdio_func *func, | |||
418 | i2400m->bus_dev_stop = i2400ms_bus_dev_stop; | 418 | i2400m->bus_dev_stop = i2400ms_bus_dev_stop; |
419 | i2400m->bus_tx_kick = i2400ms_bus_tx_kick; | 419 | i2400m->bus_tx_kick = i2400ms_bus_tx_kick; |
420 | i2400m->bus_reset = i2400ms_bus_reset; | 420 | i2400m->bus_reset = i2400ms_bus_reset; |
421 | /* The iwmc3200-wimax sometimes requires the driver to try | ||
422 | * hard when we paint it into a corner. */ | ||
423 | i2400m->bus_bm_retries = I3200_BOOT_RETRIES; | ||
421 | i2400m->bus_bm_cmd_send = i2400ms_bus_bm_cmd_send; | 424 | i2400m->bus_bm_cmd_send = i2400ms_bus_bm_cmd_send; |
422 | i2400m->bus_bm_wait_for_ack = i2400ms_bus_bm_wait_for_ack; | 425 | i2400m->bus_bm_wait_for_ack = i2400ms_bus_bm_wait_for_ack; |
423 | i2400m->bus_fw_names = i2400ms_bus_fw_names; | 426 | i2400m->bus_fw_names = i2400ms_bus_fw_names; |