summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/bcmdhd
diff options
context:
space:
mode:
authorNagarjuna Kristam <nkristam@nvidia.com>2012-10-12 16:06:37 +0530
committerSimone Willett <swillett@nvidia.com>2012-10-16 16:20:30 -0700
commit946af34e4eb6b9c02d4160d273a8ffb989d1dc0a (patch)
tree03f284abb8a7f20f2d37466c9402da08c9af05d2 /drivers/net/wireless/bcmdhd
parent18d7db2b24f821047878bbcc2803d9d7ff86eb8e (diff)
net: wireless: bcmdhd: remove wifi chip retry detection loop
wifi retry chip detection loop uses dummy SDIO register un-register calls to detect wifi chip. After successful detection of wifi chip, dummy SDIO driver is un-registered and then dhd bus driver is register to perform wifi initialization sequence. Sequential SDIO un-register and register calls can cause race condition in SDIO driver. Bug 1054985 Change-Id: Ifd3c9cf69af6b58c32cd0a34424b53c04e1fb0e7 Signed-off-by: Nagarjuna Kristam <nkristam@nvidia.com> Reviewed-on: http://git-master/r/144063 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Kumar <krakesh@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/net/wireless/bcmdhd')
-rw-r--r--drivers/net/wireless/bcmdhd/dhd_linux.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_linux.c b/drivers/net/wireless/bcmdhd/dhd_linux.c
index 66cfcb18f5b6..577c283630df 100644
--- a/drivers/net/wireless/bcmdhd/dhd_linux.c
+++ b/drivers/net/wireless/bcmdhd/dhd_linux.c
@@ -4157,11 +4157,6 @@ dhd_module_init(void)
{
int error = 0;
-#if defined(BCMLXSDMMC) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27))
- int retry = POWERUP_MAX_RETRY;
- int chip_up = 0;
-#endif
-
DHD_TRACE(("%s: Enter\n", __FUNCTION__));
wl_android_init();
@@ -4182,45 +4177,12 @@ dhd_module_init(void)
} while (0);
#endif
-#if defined(BCMLXSDMMC) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27))
- do {
- sema_init(&dhd_chipup_sem, 0);
- dhd_bus_reg_sdio_notify(&dhd_chipup_sem);
- dhd_customer_gpio_wlan_ctrl(WLAN_POWER_ON);
-#if defined(CONFIG_WIFI_CONTROL_FUNC)
- if (wl_android_wifictrl_func_add() < 0) {
- dhd_bus_unreg_sdio_notify();
- goto fail_1;
- }
-#endif /* defined(CONFIG_WIFI_CONTROL_FUNC) */
- if (down_timeout(&dhd_chipup_sem,
- msecs_to_jiffies(POWERUP_WAIT_MS)) == 0) {
- dhd_bus_unreg_sdio_notify();
- chip_up = 1;
- break;
- }
- DHD_ERROR(("\nfailed to power up wifi chip, retry again (%d left) **\n\n",
- retry+1));
- dhd_bus_unreg_sdio_notify();
-#if defined(CONFIG_WIFI_CONTROL_FUNC)
- wl_android_wifictrl_func_del();
-#endif /* defined(CONFIG_WIFI_CONTROL_FUNC) */
- dhd_customer_gpio_wlan_ctrl(WLAN_POWER_OFF);
- } while (retry-- > 0);
-
- if (!chip_up) {
- DHD_ERROR(("\nfailed to power up wifi chip, max retry reached, exits **\n\n"));
- return -ENODEV;
- }
-#else
dhd_customer_gpio_wlan_ctrl(WLAN_POWER_ON);
#if defined(CONFIG_WIFI_CONTROL_FUNC)
if (wl_android_wifictrl_func_add() < 0)
goto fail_1;
#endif /* defined(CONFIG_WIFI_CONTROL_FUNC) */
-#endif
-
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27))
sema_init(&dhd_registration_sem, 0);
#endif