WiFi:bcmdhd: add rockchip_wifi_set_carddetect(0) to remove device when turn off wifi.
authorgwl <gwl@rock-chips.com>
Mon, 19 May 2014 09:56:29 +0000 (17:56 +0800)
committergwl <gwl@rock-chips.com>
Mon, 19 May 2014 09:56:59 +0000 (17:56 +0800)
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmsdh_sdmmc.c
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_gpio.c
drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/rkversion.c

index 06cd3ad7ec72f9e6238a5c68b22a649534804641..e37d9f7f5c66177dbd13cc4f12f96938f244d9d7 100644 (file)
@@ -370,7 +370,8 @@ sdioh_interrupt_deregister(sdioh_info_t *sd)
        sd->intr_handler = NULL;
        sd->intr_handler_arg = NULL;
 #elif defined(HW_OOB)
-       sdioh_disable_func_intr();
+    if (dhd_download_fw_on_driverload)
+           sdioh_disable_func_intr();
 #endif /* !defined(OOB_INTR_ONLY) */
        return SDIOH_API_RC_SUCCESS;
 }
index 16cc4934f0a69db08e752319116215865525aa31..2697f87265410b7a46cf88a5bc465d60f3a74440 100755 (executable)
@@ -57,6 +57,8 @@ void bcm_wlan_power_off(int flag)
 {
        if (flag == 1) {
                printk("======== Card detection to remove SDIO card! ========\n");
+               rockchip_wifi_power(1);
+        rockchip_wifi_set_carddetect(0);
                rockchip_wifi_power(0);
        } else {
                printk("======== PULL WL_REG_ON LOW! (flag = %d) ========\n", flag);
index 4f61c0124ae248b7932ba4c7f38a5112ed2e60df..4540186395ac87d7178e4d926ea6f9a783a2d7bc 100644 (file)
@@ -10,7 +10,7 @@
  */
 
 
-const char RKWIFI_DRV_VERSION[] = "4.78.WFD.OOB";
+const char RKWIFI_DRV_VERSION[] = "4.79.WFD.OOB";
 
 const char WIFI_MODULE_NAME[] = "";
 const char CONFIG_BCMDHD_FW_PATH[] = "";