summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/bcm4329/dhd_linux.c
diff options
context:
space:
mode:
authorGreg Goldman <ggoldman@broadcom.com>2011-02-14 15:54:42 -0800
committerColin Cross <ccross@android.com>2011-06-14 09:09:54 -0700
commit0f3118dfc076266439c440023e09645835ca0885 (patch)
tree3ee6c619f2ff77db5e59d758c54692d49cb42151 /drivers/net/wireless/bcm4329/dhd_linux.c
parent05cbe0d20ba062301fe798695668971cc21734c2 (diff)
net: wireless: bcm4329: Update to version 4.218.248-23
- Add support to PNO with adaptive scan time - Remove logic to generate Link Down based on Roaming Event - Improve sco/esco detection method for BT COEX - Add new function TXPOWER to reduce power if needed Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'drivers/net/wireless/bcm4329/dhd_linux.c')
-rw-r--r--drivers/net/wireless/bcm4329/dhd_linux.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/net/wireless/bcm4329/dhd_linux.c b/drivers/net/wireless/bcm4329/dhd_linux.c
index 72b5fda183a..26cf90c6a44 100644
--- a/drivers/net/wireless/bcm4329/dhd_linux.c
+++ b/drivers/net/wireless/bcm4329/dhd_linux.c
@@ -22,7 +22,7 @@
* software in any way with any other Broadcom software provided under a license
* other than the GPL, without Broadcom's express prior written consent.
*
- * $Id: dhd_linux.c,v 1.65.4.9.2.12.2.104.4.35 2010/11/17 03:13:21 Exp $
+ * $Id: dhd_linux.c,v 1.65.4.9.2.12.2.104.4.40 2011/02/03 19:55:18 Exp $
*/
#ifdef CONFIG_WIFI_CONTROL_FUNC
@@ -764,13 +764,13 @@ _dhd_set_multicast_list(dhd_info_t *dhd, int ifidx)
ASSERT(dhd && dhd->iflist[ifidx]);
dev = dhd->iflist[ifidx]->net;
- netif_addr_lock_bh(dev);
+ NETIF_ADDR_LOCK(dev);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
cnt = netdev_mc_count(dev);
#else
cnt = dev->mc_count;
#endif
- netif_addr_unlock_bh(dev);
+ NETIF_ADDR_UNLOCK(dev);
/* Determine initial value of allmulti flag */
allmulti = (dev->flags & IFF_ALLMULTI) ? TRUE : FALSE;
@@ -790,7 +790,7 @@ _dhd_set_multicast_list(dhd_info_t *dhd, int ifidx)
memcpy(bufp, &cnt, sizeof(cnt));
bufp += sizeof(cnt);
- netif_addr_lock_bh(dev);
+ NETIF_ADDR_LOCK(dev);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
netdev_for_each_mc_addr(ha, dev) {
if (!cnt)
@@ -800,12 +800,12 @@ _dhd_set_multicast_list(dhd_info_t *dhd, int ifidx)
cnt--;
}
#else
- for (mclist = dev->mc_list;(mclist && (cnt > 0)); cnt--, mclist = mclist->next) {
+ for (mclist = dev->mc_list; (mclist && (cnt > 0)); cnt--, mclist = mclist->next) {
memcpy(bufp, (void *)mclist->dmi_addr, ETHER_ADDR_LEN);
bufp += ETHER_ADDR_LEN;
}
#endif
- netif_addr_unlock_bh(dev);
+ NETIF_ADDR_UNLOCK(dev);
memset(&ioc, 0, sizeof(ioc));
ioc.cmd = WLC_SET_VAR;
@@ -3046,11 +3046,12 @@ dhd_dev_pno_enable(struct net_device *dev, int pfn_enabled)
/* Linux wrapper to call common dhd_pno_set */
int
-dhd_dev_pno_set(struct net_device *dev, wlc_ssid_t* ssids_local, int nssid, ushort scan_fr)
+dhd_dev_pno_set(struct net_device *dev, wlc_ssid_t* ssids_local, int nssid,
+ ushort scan_fr, int pno_repeat, int pno_freq_expo_max)
{
dhd_info_t *dhd = *(dhd_info_t **)netdev_priv(dev);
- return (dhd_pno_set(&dhd->pub, ssids_local, nssid, scan_fr));
+ return (dhd_pno_set(&dhd->pub, ssids_local, nssid, scan_fr, pno_repeat, pno_freq_expo_max));
}
/* Linux wrapper to get pno status */
@@ -3078,20 +3079,20 @@ int net_os_send_hang_message(struct net_device *dev)
return ret;
}
-void dhd_bus_country_set(struct net_device *dev, char *country_code)
+void dhd_bus_country_set(struct net_device *dev, wl_country_t *cspec)
{
dhd_info_t *dhd = *(dhd_info_t **)netdev_priv(dev);
if (dhd && dhd->pub.up)
- strncpy(dhd->pub.country_code, country_code, WLC_CNTRY_BUF_SZ);
+ memcpy(&dhd->pub.dhd_cspec, cspec, sizeof(wl_country_t));
}
char *dhd_bus_country_get(struct net_device *dev)
{
dhd_info_t *dhd = *(dhd_info_t **)netdev_priv(dev);
- if (dhd && (dhd->pub.country_code[0] != 0))
- return dhd->pub.country_code;
+ if (dhd && (dhd->pub.dhd_cspec.ccode[0] != 0))
+ return dhd->pub.dhd_cspec.ccode;
return NULL;
}