linux_old1/drivers/net/wimax/i2400m
Inaky Perez-Gonzalez c77ca950ab 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>
2009-10-19 15:55:48 +09:00
..
Kconfig i2400m: Makefile and Kconfig 2009-01-07 10:00:22 -08:00
Makefile wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
control.c i2400m: keep index within ms_to_errno[] 2009-10-19 15:55:35 +09:00
debug-levels.h wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
debugfs.c wimax: fix build issue when debugfs is disabled 2009-01-29 17:18:31 -08:00
driver.c wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc'd before first message 2009-10-19 15:55:39 +09:00
fw.c wimax/i2400m: don't write to memory allocated by request_firmware() 2009-10-19 15:55:47 +09:00
i2400m-sdio.h wimax/iwmc3200: increase wait time before enable retry 2009-10-19 15:55:43 +09:00
i2400m-usb.h wimax/i2400m: USB driver uses a configurable endpoint map 2009-10-19 15:55:44 +09:00
i2400m.h wimax/i2400m: Make boot retries a BUS-specific parameter 2009-10-19 15:55:40 +09:00
netdev.c i2400m: minimal ethtool support 2009-10-19 15:55:37 +09:00
op-rfkill.c wimax: fix gcc warnings in sh4 when calling BUG() 2009-06-11 11:47:39 -07:00
rx.c wimax/i2400m: rename misleading I2400M_PL_PAD to I2400M_PL_ALIGN 2009-06-11 03:30:20 -07:00
sdio-debug-levels.h i2400m/SDIO: header for the SDIO subdriver 2009-01-07 10:00:22 -08:00
sdio-fw.c wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf 2009-10-19 15:55:46 +09:00
sdio-rx.c wimax/i2400m/sdio: clear the INTR status bit after reading size 2009-10-19 15:55:45 +09:00
sdio-tx.c i2400m/SDIO: TX and RX path backends 2009-01-07 10:00:22 -08:00
sdio.c wimax/i2400m: during probe, call sdio_disable at most once 2009-10-19 15:55:48 +09:00
sysfs.c wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
tx.c wimax: misplaced parenthesis 2009-10-19 15:55:36 +09:00
usb-debug-levels.h i2400m/USB: header for the USB bus driver 2009-01-07 10:00:21 -08:00
usb-fw.c wimax/i2400m: be smarter about copying command buffer to bm_cmd_buf 2009-10-19 15:55:46 +09:00
usb-notif.c wimax/i2400m: USB driver uses a configurable endpoint map 2009-10-19 15:55:44 +09:00
usb-rx.c wimax/i2400m: USB driver uses a configurable endpoint map 2009-10-19 15:55:44 +09:00
usb-tx.c wimax/i2400m: USB driver uses a configurable endpoint map 2009-10-19 15:55:44 +09:00
usb.c wimax/i2400m: USB driver uses a configurable endpoint map 2009-10-19 15:55:44 +09:00