net:wireless:bcm4329: 1. add dhd custom gpio control
authorlbt <lbt@rock-chips.com>
Tue, 12 Oct 2010 09:19:56 +0000 (17:19 +0800)
committerlbt <lbt@rock-chips.com>
Tue, 12 Oct 2010 09:21:16 +0000 (17:21 +0800)
                      2. fixed sdio_register_driver timeout

drivers/net/wireless/bcm4329/dhd_custom_gpio.c
drivers/net/wireless/bcm4329/dhd_linux.c

index 7a987624e91728978aa325d754bf6e9d6c73253f..35d0b97fb4df04e64b31de2d743c8938fa0a156d 100644 (file)
@@ -48,6 +48,9 @@ int wifi_set_power(int on, unsigned long msec);
 int wifi_get_irq_number(unsigned long *irq_flags_ptr);
 #endif
 
+int wifi_set_power(int on, unsigned long msec);
+int wifi_set_reset(int on, unsigned long msec);
+
 #if defined(OOB_INTR_ONLY)
 
 #if defined(BCMLXSDMMC)
@@ -114,6 +117,8 @@ dhd_customer_gpio_wlan_ctrl(int onoff)
 #ifdef CUSTOMER_HW2
                        wifi_set_power(0, 0);
 #endif
+                       wifi_set_power(0, 0);
+                        wifi_set_reset(0, 0);
                        WL_ERROR(("=========== WLAN placed in RESET ========\n"));
                break;
 
@@ -126,6 +131,8 @@ dhd_customer_gpio_wlan_ctrl(int onoff)
 #ifdef CUSTOMER_HW2
                        wifi_set_power(1, 0);
 #endif
+                       wifi_set_power(1, 0);
+                        wifi_set_reset(1, 0);
                        WL_ERROR(("=========== WLAN going back to live  ========\n"));
                break;
 
index 715913d71d7ccf5542531e3adb1463deb1f3ac1a..164b170abc14526ee23979f470bf71958a4999d4 100644 (file)
@@ -280,7 +280,7 @@ char nvram_path[MOD_PARAM_PATHLEN];
 extern int      wl_control_wl_start(struct net_device *dev);
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27))
 struct semaphore dhd_registration_sem;
-#define DHD_REGISTRATION_TIMEOUT  8000  /* msec : allowed time to finished dhd registration */
+#define DHD_REGISTRATION_TIMEOUT  10000  /* msec : allowed time to finished dhd registration */
 #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)) */
 /* load firmware and/or nvram values from the filesystem */
 module_param_string(firmware_path, firmware_path, MOD_PARAM_PATHLEN, 0);