diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
commit | 5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch) | |
tree | 1229a11f725bfa58aa7c57a76898553bb5f6654a /package/broadcom-wl/patches/003-compat-2.6.35.patch | |
download | openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip |
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/broadcom-wl/patches/003-compat-2.6.35.patch')
-rw-r--r-- | package/broadcom-wl/patches/003-compat-2.6.35.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/package/broadcom-wl/patches/003-compat-2.6.35.patch b/package/broadcom-wl/patches/003-compat-2.6.35.patch new file mode 100644 index 000000000..89b665371 --- /dev/null +++ b/package/broadcom-wl/patches/003-compat-2.6.35.patch @@ -0,0 +1,39 @@ +--- a/driver/wl_linux.c ++++ b/driver/wl_linux.c +@@ -2082,7 +2082,11 @@ static void + _wl_set_multicast_list(struct net_device *dev) + { + wl_info_t *wl; ++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,34) + struct dev_mc_list *mclist; ++#else ++ struct netdev_hw_addr *ha; ++#endif + int i; + + if (!dev) +@@ -2098,14 +2102,24 @@ _wl_set_multicast_list(struct net_device + wl->pub->allmulti = (dev->flags & IFF_ALLMULTI)? TRUE: FALSE; + + /* copy the list of multicasts into our private table */ ++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,34) + for (i = 0, mclist = dev->mc_list; mclist && (i < dev->mc_count); + i++, mclist = mclist->next) { ++#else ++ i = 0; ++ netdev_for_each_mc_addr(ha, dev) { ++#endif + if (i >= MAXMULTILIST) { + wl->pub->allmulti = TRUE; + i = 0; + break; + } ++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,34) + wl->pub->multicast[i] = *((struct ether_addr*) mclist->dmi_addr); ++#else ++ wl->pub->multicast[i] = *((struct ether_addr*) ha->addr); ++ i++; ++#endif + } + wl->pub->nmulticast = i; + wlc_set(wl->wlc, WLC_SET_PROMISC, (dev->flags & IFF_PROMISC)); |