Author: cnolan
Update of /cvs/nonfree/rpms/wl-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv1443
Modified Files:
wl-kmod.spec
Added Files:
broadcom-wl-5.10.79.10-linux-2.6.29.patch
Removed Files:
broadcom-wl-5.10.79.10-linux-2.6.29a.patch
Log Message:
* Sat Mar 28 2009 Chris Nolan <chris(a)cenolan.com> - 5.10.79.10-2
- repatched to load lib80211_crypt_tkip module - bug #466
broadcom-wl-5.10.79.10-linux-2.6.29.patch:
Index: broadcom-wl-5.10.79.10-linux-2.6.29.patch
===================================================================
RCS file: broadcom-wl-5.10.79.10-linux-2.6.29.patch
diff -N broadcom-wl-5.10.79.10-linux-2.6.29.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ broadcom-wl-5.10.79.10-linux-2.6.29.patch 28 Mar 2009 19:55:07 -0000 1.3
@@ -0,0 +1,175 @@
+diff -u -r 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-09
21:43:18.000000000 +0000
++++ hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_iw.c 2009-03-28 17:51:03.000000000
+0000
+@@ -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 -u -r 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-09
21:43:32.000000000 +0000
++++ hybrid-portsrc-x86_32-v5_10_79_10/src/wl/sys/wl_linux.c 2009-03-28 18:08:39.000000000
+0000
+@@ -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;
+ }
+
+@@ -913,6 +941,9 @@
+ #else
+
+ dev = alloc_netdev(0, 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);
Index: wl-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/wl-kmod/devel/wl-kmod.spec,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- wl-kmod.spec 28 Mar 2009 18:28:31 -0000 1.27
+++ wl-kmod.spec 28 Mar 2009 19:55:07 -0000 1.28
@@ -15,7 +15,7 @@
Source0:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5_10_79_10....
Source1:
http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5_10_79_10....
Source11: broadcom-wl-kmodtool-excludekernel-filterfile
-Patch0: broadcom-wl-5.10.79.10-linux-2.6.29a.patch
+Patch0: broadcom-wl-5.10.79.10-linux-2.6.29.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_bindir}/kmodtool
--- broadcom-wl-5.10.79.10-linux-2.6.29a.patch DELETED ---