From 41cae4938c3e5037843d02327a294decc47a48b0 Mon Sep 17 00:00:00 2001 From: lbt Date: Tue, 12 Oct 2010 17:19:56 +0800 Subject: [PATCH] net:wireless:bcm4329: 1. add dhd custom gpio control 2. fixed sdio_register_driver timeout --- drivers/net/wireless/bcm4329/dhd_custom_gpio.c | 7 +++++++ drivers/net/wireless/bcm4329/dhd_linux.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/bcm4329/dhd_custom_gpio.c b/drivers/net/wireless/bcm4329/dhd_custom_gpio.c index 7a987624e917..35d0b97fb4df 100644 --- a/drivers/net/wireless/bcm4329/dhd_custom_gpio.c +++ b/drivers/net/wireless/bcm4329/dhd_custom_gpio.c @@ -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; diff --git a/drivers/net/wireless/bcm4329/dhd_linux.c b/drivers/net/wireless/bcm4329/dhd_linux.c index 715913d71d7c..164b170abc14 100644 --- a/drivers/net/wireless/bcm4329/dhd_linux.c +++ b/drivers/net/wireless/bcm4329/dhd_linux.c @@ -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); -- 2.34.1