diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-08-31 17:57:56 -0700 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-10-19 15:55:48 +0900 |
commit | c77ca950abb587bcebad6dcd0b0b41d7c0255ce9 (patch) | |
tree | e60031fcfe1d4a99a54db0403bdcd3f07dd5ebe7 /arch/ia64/lib/xor.S | |
parent | 8d8fe198c6a756ae96617548af4776e7a86c0d3e (diff) | |
download | op-kernel-dev-c77ca950abb587bcebad6dcd0b0b41d7c0255ce9.zip op-kernel-dev-c77ca950abb587bcebad6dcd0b0b41d7c0255ce9.tar.gz |
wimax/i2400m: during probe, call sdio_disable at most once
In the Intel Wireless Multicomm 3200, the initialization is
orchestrated by a component called Top. This component also monitors
how many times a function is reset (via sdio_disable) to detect
possible issues and will reset the whole multifunction device if any
function triggers a maximum reset level.
During WiMAX's probe, the driver needs to wait for Top to come up
before it can enable the WiMAX function. If it cannot, it will return
-ENODEV and the Top driver will rescan the SDIO bus once done
loading.
Currently, the WiMAX SDIO probe routine was trying a few times before
returning -ENODEV, and this was triggering Top's too-many-resets
detector. This is, in any case, unnecessary because the Top driver will
force the bus rescan when the functions can be probed successfully.
Added then a maxtries argument to i2400ms_enable_func() and set it to
1 when calling from probe. We want to reuse this function instead of
flat calling out sdio_enable_func() to take advantage of hardware
quirk workarounds.
Reported-by: Cindy H Kao <cindy.h.kao@intel.com>
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'arch/ia64/lib/xor.S')
0 files changed, 0 insertions, 0 deletions