diff options
author | Matsuu Takuto <matsuu@gentoo.org> | 2009-05-07 16:08:21 +0000 |
---|---|---|
committer | Matsuu Takuto <matsuu@gentoo.org> | 2009-05-07 16:08:21 +0000 |
commit | ca61f7e368a140044cf898e821ceaf5449027308 (patch) | |
tree | 4b22983d1326a9bb64b7ff7e4205b06ebe583102 /net-wireless | |
parent | arm/ia64/s390/sh/sparc stable wrt #267528 (diff) | |
download | gentoo-2-ca61f7e368a140044cf898e821ceaf5449027308.tar.gz gentoo-2-ca61f7e368a140044cf898e821ceaf5449027308.tar.bz2 gentoo-2-ca61f7e368a140044cf898e821ceaf5449027308.zip |
Fixed patches, bug #265385.
(Portage version: 2.1.6.11/cvs/Linux x86_64)
Diffstat (limited to 'net-wireless')
7 files changed, 499 insertions, 1 deletions
diff --git a/net-wireless/broadcom-sta/ChangeLog b/net-wireless/broadcom-sta/ChangeLog index 3371f4fd5a5b..6c66e58983f6 100644 --- a/net-wireless/broadcom-sta/ChangeLog +++ b/net-wireless/broadcom-sta/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-wireless/broadcom-sta # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.6 2009/05/04 23:57:49 matsuu Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/ChangeLog,v 1.7 2009/05/07 16:08:21 matsuu Exp $ + +*broadcom-sta-5.10.91.9-r1 (07 May 2009) +*broadcom-sta-5.10.79.10-r4 (07 May 2009) + + 07 May 2009; MATSUU Takuto <matsuu@gentoo.org> + +broadcom-sta-5.10.79.10-r4.ebuild, + +files/broadcom-sta-5.10.79.10-license.patch, + +files/broadcom-sta-5.10.79.10-r4-linux-2.6.29.patch, + +broadcom-sta-5.10.91.9-r1.ebuild, + +files/broadcom-sta-5.10.91.9-license.patch, + +files/broadcom-sta-5.10.91.9-r1-linux-2.6.29.patch: + Fixed patches, bug #265385. 04 May 2009; MATSUU Takuto <matsuu@gentoo.org> broadcom-sta-5.10.79.10-r3.ebuild, broadcom-sta-5.10.91.9.ebuild: diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10-r4.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10-r4.ebuild new file mode 100644 index 000000000000..0c05ca336121 --- /dev/null +++ b/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10-r4.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.10.79.10-r4.ebuild,v 1.1 2009/05/07 16:08:21 matsuu Exp $ + +inherit eutils linux-mod versionator + +MY_PV="$(replace_all_version_separators _)" +DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver." +HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php" +SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_" +SRC_URI="x86? ( ${SRC_BASE}32-v${MY_PV}.tar.gz ) + amd64? ( ${SRC_BASE}64-v${MY_PV}.tar.gz )" + +LICENSE="Broadcom" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror" + +DEPEND=">=virtual/linux-sources-2.6.22" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +MODULE_NAMES="wl(net/wireless)" +MODULESD_WL_ALIASES=("wlan0 wl") + +pkg_setup() { + check_license + + if kernel_is ge 2 6 29; then + CONFIG_CHECK="LIB80211" + else + CONFIG_CHECK="IEEE80211 IEEE80211_CRYPT_TKIP" + fi + linux-mod_pkg_setup + BUILD_PARAMS="-C ${KV_DIR} M=${S}" + BUILD_TARGETS="wl.ko" +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch \ + "${FILESDIR}/${P}-hidden-essid.patch" \ + "${FILESDIR}/${PF}-linux-2.6.29.patch" \ + "${FILESDIR}/${P}-linux-2.6.30.patch" \ + "${FILESDIR}/${P}-wl_iw_v2.patch" \ + "${FILESDIR}/${P}-license.patch" + +} diff --git a/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r1.ebuild new file mode 100644 index 000000000000..f649d0b32751 --- /dev/null +++ b/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-5.10.91.9-r1.ebuild,v 1.1 2009/05/07 16:08:21 matsuu Exp $ + +inherit eutils linux-mod versionator + +MY_PV="$(replace_all_version_separators _)" +DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver." +HOMEPAGE="http://www.broadcom.com/support/802.11/linux_sta.php" +SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_" +SRC_URI="x86? ( ${SRC_BASE}32-v${MY_PV}.tar.gz ) + amd64? ( ${SRC_BASE}64-v${MY_PV}.tar.gz )" + +LICENSE="Broadcom" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RESTRICT="mirror" + +DEPEND=">=virtual/linux-sources-2.6.22" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +MODULE_NAMES="wl(net/wireless)" +MODULESD_WL_ALIASES=("wlan0 wl") + +pkg_setup() { + check_license + + if kernel_is ge 2 6 29; then + CONFIG_CHECK="LIB80211" + else + CONFIG_CHECK="IEEE80211 IEEE80211_CRYPT_TKIP" + fi + linux-mod_pkg_setup + BUILD_PARAMS="-C ${KV_DIR} M=${S}" + BUILD_TARGETS="wl.ko" +} + +src_unpack() { + unpack ${A} + cd "${S}" + epatch \ + "${FILESDIR}/${PN}-5.10.79.10-hidden-essid.patch" \ + "${FILESDIR}/${PF}-linux-2.6.29.patch" \ + "${FILESDIR}/${PN}-5.10.79.10-linux-2.6.30.patch" \ + "${FILESDIR}/${P}-license.patch" +} diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-license.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-license.patch new file mode 100644 index 000000000000..bea47f0b7369 --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-license.patch @@ -0,0 +1,12 @@ +diff -Naur hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_linux.c +--- hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_linux.c 2009-02-10 06:43:32.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_linux.c 2009-05-08 00:23:57.000000000 +0900 +@@ -243,7 +243,7 @@ + static void wl_free_if(wl_info_t *wl, wl_if_t *wlif); + static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info); + +-MODULE_LICENSE(""); ++MODULE_LICENSE("MIXED/Proprietary"); + + static struct pci_device_id wl_id_table[] = { + { PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-r4-linux-2.6.29.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-r4-linux-2.6.29.patch new file mode 100644 index 000000000000..21ad4d79fc10 --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.79.10-r4-linux-2.6.29.patch @@ -0,0 +1,177 @@ +diff -Naur hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_iw.c hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_iw.c +--- hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_iw.c 2009-02-10 06:43:18.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_iw.c 2009-05-08 00:18:36.000000000 +0900 +@@ -610,7 +610,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + struct sockaddr *addr = (struct sockaddr *) extra; + int i; + +@@ -635,7 +639,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + struct sockaddr *addr = (struct sockaddr *) extra; + struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num]; + int i; +@@ -1111,7 +1119,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name)); + +@@ -1135,7 +1147,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name)); + +@@ -1795,7 +1811,11 @@ + int paramid; + int paramval; + int val = 0; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name)); + +@@ -1926,7 +1946,11 @@ + int paramid; + int paramval = 0; + int val; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name)); + +diff -Naur hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_linux.c +--- hybrid-portsrc-x86_32-v5_10_79_10.orig/src/wl/sys/wl_linux.c 2009-02-10 06:43:32.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_linux.c 2009-05-08 00:21:50.000000000 +0900 +@@ -53,6 +53,9 @@ + #include <linux/pci_ids.h> + #define WLC_MAXBSSCFG 1 + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#include <net/lib80211.h> ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + #include <net/ieee80211.h> + #endif +@@ -149,7 +152,11 @@ + bool resched; + uint32 pci_psstate[16]; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ struct lib80211_crypto_ops *tkipmodops; ++#else + struct ieee80211_crypto_ops *tkipmodops; ++#endif + struct ieee80211_tkip_data *tkip_ucast_data; + struct ieee80211_tkip_data *tkip_bcast_data; + #endif +@@ -201,7 +208,11 @@ + + static int wl_found = 0; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define WL_DEV_IF(dev) ((wl_if_t*)netdev_priv(dev)) ++#else + #define WL_DEV_IF(dev) ((wl_if_t*)(dev)->priv) ++#endif + #define WL_INFO(dev) ((wl_info_t*)(WL_DEV_IF(dev)->wl)) + + #define WL_LOCK(wl) spin_lock_bh(&(wl)->lock) +@@ -363,6 +374,9 @@ + dev = wlif->dev; + wl->dev = dev; + wl_if_setup(dev); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wlif = netdev_priv(dev); ++#endif + + dev->base_addr = regs; + +@@ -436,10 +450,20 @@ + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++#else + wl->tkipmodops = ieee80211_get_crypto_ops("TKIP"); ++#endif + if (wl->tkipmodops == NULL) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ request_module("lib80211"); ++ request_module("lib80211_crypt_tkip"); ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++#else + request_module("ieee80211_crypt_tkip"); + wl->tkipmodops = ieee80211_get_crypto_ops("TKIP"); ++#endif + } + #endif + #ifdef CONFIG_WIRELESS_EXT +@@ -744,7 +768,11 @@ + } + + if (wl->monitor) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor)); ++#else + wl_free_if(wl, (wl_if_t *)(wl->monitor->priv)); ++#endif + wl->monitor = NULL; + } + +@@ -912,7 +940,10 @@ + strncpy(dev->name, name, IFNAMSIZ); + #else + +- dev = alloc_netdev(0, name, ether_setup); ++ dev = alloc_netdev(sizeof(wl_if_t), name, ether_setup); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wlif = netdev_priv(dev); ++#endif + if (!dev) { + MFREE(wl->osh, wlif, sizeof(wl_if_t)); + WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n", +@@ -926,7 +957,9 @@ + wlif->wl = wl; + wlif->wlcif = wlcif; + wlif->subunit = subunit; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) + dev->priv = wlif; ++#endif + + if (iftype != WL_IFTYPE_MON && wl->dev && netif_queue_stopped(wl->dev)) + netif_stop_queue(dev); diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch new file mode 100644 index 000000000000..b320d977e8b0 --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-license.patch @@ -0,0 +1,12 @@ +diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c +--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c 2009-04-23 02:48:59.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c 2009-05-08 00:48:20.000000000 +0900 +@@ -163,6 +163,8 @@ + static void wl_free_if(wl_info_t *wl, wl_if_t *wlif); + static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info); + ++MODULE_LICENSE("MIXED/Proprietary"); ++ + static struct pci_device_id wl_id_table[] = { + { PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_BROADCOM, 0x4312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-r1-linux-2.6.29.patch b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-r1-linux-2.6.29.patch new file mode 100644 index 000000000000..2e8de221cad0 --- /dev/null +++ b/net-wireless/broadcom-sta/files/broadcom-sta-5.10.91.9-r1-linux-2.6.29.patch @@ -0,0 +1,185 @@ +diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_iw.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_iw.c +--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_iw.c 2009-04-23 02:46:35.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_iw.c 2009-05-08 00:42:45.000000000 +0900 +@@ -610,7 +610,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + struct sockaddr *addr = (struct sockaddr *) extra; + int i; + +@@ -635,7 +639,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + struct sockaddr *addr = (struct sockaddr *) extra; + struct iw_quality *qual = (struct iw_quality *) &addr[iw->spy_num]; + int i; +@@ -1110,7 +1118,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCSIWNICKN\n", dev->name)); + +@@ -1134,7 +1146,11 @@ + char *extra + ) + { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCGIWNICKN\n", dev->name)); + +@@ -1790,7 +1806,11 @@ + int paramid; + int paramval; + int val = 0; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCSIWAUTH\n", dev->name)); + +@@ -1921,7 +1941,11 @@ + int paramid; + int paramval = 0; + int val; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_iw_t *iw = netdev_priv(dev); ++#else + wl_iw_t *iw = dev->priv; ++#endif + + WL_TRACE(("%s: SIOCGIWAUTH\n", dev->name)); + +diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c +--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c 2009-04-23 02:48:59.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c 2009-05-08 00:45:29.000000000 +0900 +@@ -53,6 +53,9 @@ + #include <linux/pci_ids.h> + #define WLC_MAXBSSCFG 1 + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#include <net/lib80211.h> ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + #include <net/ieee80211.h> + #endif +@@ -130,7 +133,11 @@ + u8 rx_hdr[16], tx_hdr[16]; + }; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define WL_DEV_IF(dev) ((wl_if_t*)netdev_priv(dev)) ++#else + #define WL_DEV_IF(dev) ((wl_if_t*)(dev)->priv) ++#endif + #define WL_INFO(dev) ((wl_info_t*)(WL_DEV_IF(dev)->wl)) + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20) +@@ -282,6 +289,9 @@ + dev = wlif->dev; + wl->dev = dev; + wl_if_setup(dev); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wlif = netdev_priv(dev); ++#endif + + dev->base_addr = regs; + +@@ -359,10 +369,20 @@ + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++#else + wl->tkipmodops = ieee80211_get_crypto_ops("TKIP"); ++#endif + if (wl->tkipmodops == NULL) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ request_module("lib80211"); ++ request_module("lib80211_crypt_tkip"); ++ wl->tkipmodops = lib80211_get_crypto_ops("TKIP"); ++#else + request_module("ieee80211_crypt_tkip"); + wl->tkipmodops = ieee80211_get_crypto_ops("TKIP"); ++#endif + } + #endif + #ifdef CONFIG_WIRELESS_EXT +@@ -666,7 +686,11 @@ + } + + if (wl->monitor) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wl_free_if(wl, (wl_if_t *)netdev_priv(wl->monitor)); ++#else + wl_free_if(wl, (wl_if_t *)(wl->monitor->priv)); ++#endif + wl->monitor = NULL; + } + +@@ -833,7 +857,10 @@ + strncpy(dev->name, name, IFNAMSIZ); + #else + +- dev = alloc_netdev(0, name, ether_setup); ++ dev = alloc_netdev(sizeof(wl_if_t), name, ether_setup); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ wlif = netdev_priv(dev); ++#endif + if (!dev) { + MFREE(wl->osh, wlif, sizeof(wl_if_t)); + WL_ERROR(("wl%d: wl_alloc_if: out of memory, alloc_netdev\n", +@@ -847,7 +874,9 @@ + wlif->wl = wl; + wlif->wlcif = wlcif; + wlif->subunit = subunit; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) + dev->priv = wlif; ++#endif + + if (iftype != WL_IFTYPE_MON && wl->dev && netif_queue_stopped(wl->dev)) + netif_stop_queue(dev); +diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.h hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.h +--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.h 2009-04-23 02:49:04.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.h 2009-05-08 00:42:45.000000000 +0900 +@@ -85,10 +85,16 @@ + bool resched; + uint32 pci_psstate[16]; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++ struct lib80211_crypto_ops *tkipmodops; ++ struct lib80211_tkip_data *tkip_ucast_data; ++ struct lib80211_tkip_data *tkip_bcast_data; ++#else + struct ieee80211_crypto_ops *tkipmodops; + struct ieee80211_tkip_data *tkip_ucast_data; + struct ieee80211_tkip_data *tkip_bcast_data; + #endif ++#endif + + uint stats_id; + |