rpms/kernel/F-8 kernel.spec, 1.433, 1.434 linux-2.6-wireless-pending-too.patch, 1.7, 1.8

John W. Linville (linville) fedora-extras-commits at redhat.com
Thu May 1 20:21:51 UTC 2008


Author: linville

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10243

Modified Files:
	kernel.spec linux-2.6-wireless-pending-too.patch 
Log Message:
wireless fixes from 2008-04-30


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.433
retrieving revision 1.434
diff -u -r1.433 -r1.434
--- kernel.spec	25 Apr 2008 03:38:23 -0000	1.433
+++ kernel.spec	1 May 2008 20:21:08 -0000	1.434
@@ -2016,6 +2016,15 @@
 
 
 %changelog
+* Thu May 01 2008 John W. Linville <linville at redhat.com> 2.6.24.5-88
+- mac80211: incorrect shift direction
+- libertas: fix use-before-check violation
+- mac80211: assign conf.beacon_control for mesh
+- mac80211: don't allow invalid WDS peer addresses
+- mac80211: insert WDS peer after adding interface
+- mac80211: use 4-byte mesh sequence number
+- b43: Fix dual-PHY devices
+
 * Thu Apr 24 2008 John W. Linville <linville at redhat.com> 2.6.24.5-87
 - mac80211: Fix n-band association problem
 - net/mac80211/rx.c: fix off-by-one

linux-2.6-wireless-pending-too.patch:

Index: linux-2.6-wireless-pending-too.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless-pending-too.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-wireless-pending-too.patch	25 Apr 2008 03:38:23 -0000	1.7
+++ linux-2.6-wireless-pending-too.patch	1 May 2008 20:21:08 -0000	1.8
@@ -1,3 +1,93 @@
+commit c0d43990768b6ca83604ff4be80425b89d317e2f
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date:   Tue Apr 29 10:07:56 2008 +0200
+
+    libertas: fix use-before-check violation
+    
+    According to Coverity (kudo's to Adrian Bunk), we had one use-before-check
+    bug in libe libertas driver. This patch fixes this issue.
+    
+    Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2e35af143a1380173ba292e48e9b4913ef16b4ee
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Sun Apr 27 19:06:18 2008 +0200
+
+    b43: Fix dual-PHY devices
+    
+    This fixes operation of dual-PHY (A/B/G) devices.
+    Do not anounce the A-PHY to mac80211, as that's not supported, yet.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 17f830459d6116ae13dbcfc9d09a406e6717b1a6
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Sun Apr 27 03:48:40 2008 -0700
+
+    mac80211: incorrect shift direction
+    
+    Looks like  5d2cdcd4e85c5187db30a6b29f79fbbe59f39f78 ("mac80211: get a
+    TKIP phase key from skb") got the shifts wrong.
+    
+    Noticed by sparse:
+    net/mac80211/tkip.c:234:25: warning: right shift by bigger than source value
+    net/mac80211/tkip.c:235:25: warning: right shift by bigger than source value
+    net/mac80211/tkip.c:236:25: warning: right shift by bigger than source value
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 636c5d488bc0b349e01cf5bfbf85588134af70a0
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Thu Apr 24 14:18:37 2008 +0200
+
+    mac80211: insert WDS peer after adding interface
+    
+    This reorders the open code so that WDS peer STA info entries
+    are added after the corresponding interface is added to the
+    driver so that driver callbacks aren't invoked out of order.
+    Also make any master device startup fatal.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e94e106831403d5028e7bb73c3163951134de1ba
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Thu Apr 24 14:16:36 2008 +0200
+
+    mac80211: don't allow invalid WDS peer addresses
+    
+    Rather than just disallowing the zero address, disallow all
+    invalid ones.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8b808bf29bdafe9270cb283ea093bb87f5a3be19
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Apr 23 23:35:09 2008 +0200
+
+    mac80211: assign conf.beacon_control for mesh
+    
+    Drivers can rightfully assume that they get a beacon_control
+    if the beacon is set.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 51ceddade0fb1e15f080b2555f3b3e1d68c6707e
+Author: Luis Carlos Cobo <luisca at cozybit.com>
+Date:   Wed Apr 23 12:15:29 2008 -0700
+
+    mac80211: use 4-byte mesh sequence number
+    
+    This follows the new 802.11s/D2.0 draft.
+    
+    Signed-off-by: Luis Carlos Cobo <luisca at cozybit.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 099714934d80100624829f1e2961b9dccaef3280
 Author: Roland Dreier <rdreier at cisco.com>
 Date:   Wed Apr 23 16:22:13 2008 -0700
@@ -213,8 +303,17 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.24.noarch/include/linux/ieee80211.h.orig linux-2.6.24.noarch/include/linux/ieee80211.h
---- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-04-24 23:23:28.000000000 -0400
-+++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-05-01 15:45:10.000000000 -0400
+@@ -113,7 +113,7 @@ struct ieee80211_hdr {
+ struct ieee80211s_hdr {
+ 	u8 flags;
+ 	u8 ttl;
+-	u8 seqnum[3];
++	__le32 seqnum;
+ 	u8 eaddr1[6];
+ 	u8 eaddr2[6];
+ 	u8 eaddr3[6];
 @@ -465,13 +465,19 @@ enum ieee80211_eid {
  	WLAN_EID_TS_DELAY = 43,
  	WLAN_EID_TCLAS_PROCESSING = 44,
@@ -243,8 +342,8 @@
  	WLAN_EID_PWR_CONSTRAINT = 32,
  	WLAN_EID_PWR_CAPABILITY = 33,
 diff -up linux-2.6.24.noarch/MAINTAINERS.orig linux-2.6.24.noarch/MAINTAINERS
---- linux-2.6.24.noarch/MAINTAINERS.orig	2008-04-24 23:23:33.000000000 -0400
-+++ linux-2.6.24.noarch/MAINTAINERS	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/MAINTAINERS.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/MAINTAINERS	2008-05-01 15:42:00.000000000 -0400
 @@ -2481,12 +2481,10 @@ W:	http://www.tazenda.demon.co.uk/phil/l
  S:	Maintained
  
@@ -261,8 +360,8 @@
  W:	http://linuxwireless.org/
  T:	git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
 diff -up linux-2.6.24.noarch/net/mac80211/mlme.c.orig linux-2.6.24.noarch/net/mac80211/mlme.c
---- linux-2.6.24.noarch/net/mac80211/mlme.c.orig	2008-04-24 23:23:29.000000000 -0400
-+++ linux-2.6.24.noarch/net/mac80211/mlme.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/net/mac80211/mlme.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/mlme.c	2008-05-01 15:42:00.000000000 -0400
 @@ -2248,10 +2248,13 @@ static void ieee80211_rx_bss_put(struct 
  				 struct ieee80211_sta_bss *bss)
  {
@@ -308,8 +407,8 @@
  		bss->wmm_ie = NULL;
  		bss->wmm_ie_len = 0;
 diff -up linux-2.6.24.noarch/net/mac80211/rx.c.orig linux-2.6.24.noarch/net/mac80211/rx.c
---- linux-2.6.24.noarch/net/mac80211/rx.c.orig	2008-04-24 23:23:29.000000000 -0400
-+++ linux-2.6.24.noarch/net/mac80211/rx.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/net/mac80211/rx.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/rx.c	2008-05-01 15:42:00.000000000 -0400
 @@ -2170,7 +2170,7 @@ void __ieee80211_rx(struct ieee80211_hw 
  	struct ieee80211_supported_band *sband;
  
@@ -319,9 +418,156 @@
  		WARN_ON(1);
  		return;
  	}
+diff -up linux-2.6.24.noarch/net/mac80211/main.c.orig linux-2.6.24.noarch/net/mac80211/main.c
+--- linux-2.6.24.noarch/net/mac80211/main.c.orig	2008-05-01 15:26:36.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/main.c	2008-05-01 15:45:10.000000000 -0400
+@@ -255,22 +255,8 @@ static int ieee80211_open(struct net_dev
+ 
+ 	switch (sdata->vif.type) {
+ 	case IEEE80211_IF_TYPE_WDS:
+-		if (is_zero_ether_addr(sdata->u.wds.remote_addr))
++		if (!is_valid_ether_addr(sdata->u.wds.remote_addr))
+ 			return -ENOLINK;
+-
+-		/* Create STA entry for the WDS peer */
+-		sta = sta_info_alloc(sdata, sdata->u.wds.remote_addr,
+-				     GFP_KERNEL);
+-		if (!sta)
+-			return -ENOMEM;
+-
+-		sta->flags |= WLAN_STA_AUTHORIZED;
+-
+-		res = sta_info_insert(sta);
+-		if (res) {
+-			/* STA has been freed */
+-			return res;
+-		}
+ 		break;
+ 	case IEEE80211_IF_TYPE_VLAN:
+ 		if (!sdata->u.vlan.ap)
+@@ -337,10 +323,8 @@ static int ieee80211_open(struct net_dev
+ 		conf.type = sdata->vif.type;
+ 		conf.mac_addr = dev->dev_addr;
+ 		res = local->ops->add_interface(local_to_hw(local), &conf);
+-		if (res && !local->open_count && local->ops->stop)
+-			local->ops->stop(local_to_hw(local));
+ 		if (res)
+-			return res;
++			goto err_stop;
+ 
+ 		ieee80211_if_config(dev);
+ 		ieee80211_reset_erp_info(dev);
+@@ -353,9 +337,29 @@ static int ieee80211_open(struct net_dev
+ 			netif_carrier_on(dev);
+ 	}
+ 
++	if (sdata->vif.type == IEEE80211_IF_TYPE_WDS) {
++		/* Create STA entry for the WDS peer */
++		sta = sta_info_alloc(sdata, sdata->u.wds.remote_addr,
++				     GFP_KERNEL);
++		if (!sta) {
++			res = -ENOMEM;
++			goto err_del_interface;
++		}
++
++		sta->flags |= WLAN_STA_AUTHORIZED;
++
++		res = sta_info_insert(sta);
++		if (res) {
++			/* STA has been freed */
++			goto err_del_interface;
++		}
++	}
++
+ 	if (local->open_count == 0) {
+ 		res = dev_open(local->mdev);
+ 		WARN_ON(res);
++		if (res)
++			goto err_del_interface;
+ 		tasklet_enable(&local->tx_pending_tasklet);
+ 		tasklet_enable(&local->tasklet);
+ 	}
+@@ -390,6 +394,12 @@ static int ieee80211_open(struct net_dev
+ 	netif_start_queue(dev);
+ 
+ 	return 0;
++ err_del_interface:
++	local->ops->remove_interface(local_to_hw(local), &conf);
++ err_stop:
++	if (!local->open_count && local->ops->stop)
++		local->ops->stop(local_to_hw(local));
++	return res;
+ }
+ 
+ static int ieee80211_stop(struct net_device *dev)
+@@ -975,6 +985,7 @@ static int __ieee80211_if_config(struct 
+ 		conf.ssid_len = sdata->u.sta.ssid_len;
+ 	} else if (ieee80211_vif_is_mesh(&sdata->vif)) {
+ 		conf.beacon = beacon;
++		conf.beacon_control = control;
+ 		ieee80211_start_mesh(dev);
+ 	} else if (sdata->vif.type == IEEE80211_IF_TYPE_AP) {
+ 		conf.ssid = sdata->u.ap.ssid;
+diff -up linux-2.6.24.noarch/net/mac80211/mesh.c.orig linux-2.6.24.noarch/net/mac80211/mesh.c
+--- linux-2.6.24.noarch/net/mac80211/mesh.c.orig	2008-05-01 15:26:36.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/mesh.c	2008-05-01 15:45:10.000000000 -0400
+@@ -8,6 +8,7 @@
+  * published by the Free Software Foundation.
+  */
+ 
++#include <asm/unaligned.h>
+ #include "ieee80211_i.h"
+ #include "mesh.h"
+ 
+@@ -167,8 +168,8 @@ int mesh_rmc_check(u8 *sa, struct ieee80
+ 	struct rmc_entry *p, *n;
+ 
+ 	/* Don't care about endianness since only match matters */
+-	memcpy(&seqnum, mesh_hdr->seqnum, sizeof(mesh_hdr->seqnum));
+-	idx = mesh_hdr->seqnum[0] & rmc->idx_mask;
++	memcpy(&seqnum, &mesh_hdr->seqnum, sizeof(mesh_hdr->seqnum));
++	idx = le32_to_cpu(mesh_hdr->seqnum) & rmc->idx_mask;
+ 	list_for_each_entry_safe(p, n, &rmc->bucket[idx].list, list) {
+ 		++entries;
+ 		if (time_after(jiffies, p->exp_time) ||
+@@ -393,16 +394,8 @@ int ieee80211_new_mesh_header(struct iee
+ {
+ 	meshhdr->flags = 0;
+ 	meshhdr->ttl = sdata->u.sta.mshcfg.dot11MeshTTL;
+-
+-	meshhdr->seqnum[0] = sdata->u.sta.mesh_seqnum[0]++;
+-	meshhdr->seqnum[1] = sdata->u.sta.mesh_seqnum[1];
+-	meshhdr->seqnum[2] = sdata->u.sta.mesh_seqnum[2];
+-
+-	if (sdata->u.sta.mesh_seqnum[0] == 0) {
+-		sdata->u.sta.mesh_seqnum[1]++;
+-		if (sdata->u.sta.mesh_seqnum[1] == 0)
+-			sdata->u.sta.mesh_seqnum[2]++;
+-	}
++	put_unaligned(cpu_to_le32(sdata->u.sta.mesh_seqnum), &meshhdr->seqnum);
++	sdata->u.sta.mesh_seqnum++;
+ 
+ 	return 5;
+ }
+diff -up linux-2.6.24.noarch/net/mac80211/tkip.c.orig linux-2.6.24.noarch/net/mac80211/tkip.c
+--- linux-2.6.24.noarch/net/mac80211/tkip.c.orig	2008-05-01 15:26:36.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/tkip.c	2008-05-01 15:45:10.000000000 -0400
+@@ -230,10 +230,8 @@ void ieee80211_get_tkip_key(struct ieee8
+ 
+ 	iv16 = data[hdr_len] << 8;
+ 	iv16 += data[hdr_len + 2];
+-	iv32 = data[hdr_len + 4] +
+-		(data[hdr_len + 5] >> 8) +
+-		(data[hdr_len + 6] >> 16) +
+-		(data[hdr_len + 7] >> 24);
++	iv32 = data[hdr_len + 4] | (data[hdr_len + 5] << 8) |
++	       (data[hdr_len + 6] << 16) | (data[hdr_len + 7] << 24);
+ 
+ #ifdef CONFIG_TKIP_DEBUG
+ 	printk(KERN_DEBUG "TKIP encrypt: iv16 = 0x%04x, iv32 = 0x%08x\n",
 diff -up linux-2.6.24.noarch/net/mac80211/wme.c.orig linux-2.6.24.noarch/net/mac80211/wme.c
---- linux-2.6.24.noarch/net/mac80211/wme.c.orig	2008-04-24 23:23:29.000000000 -0400
-+++ linux-2.6.24.noarch/net/mac80211/wme.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/net/mac80211/wme.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/wme.c	2008-05-01 15:42:00.000000000 -0400
 @@ -709,7 +709,7 @@ void ieee80211_requeue(struct ieee80211_
  	struct ieee80211_sched_data *q = qdisc_priv(root_qd);
  	struct Qdisc *qdisc = q->queues[queue];
@@ -331,9 +577,33 @@
  
  	if (!qdisc || !qdisc->dequeue)
  		return;
+diff -up linux-2.6.24.noarch/net/mac80211/mesh.h.orig linux-2.6.24.noarch/net/mac80211/mesh.h
+--- linux-2.6.24.noarch/net/mac80211/mesh.h.orig	2008-05-01 15:26:36.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/mesh.h	2008-05-01 15:45:10.000000000 -0400
+@@ -139,7 +139,7 @@ struct rmc_entry {
+ 
+ struct mesh_rmc {
+ 	struct rmc_entry bucket[RMC_BUCKETS];
+-	u8 idx_mask;
++	u32 idx_mask;
+ };
+ 
+ 
+diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig linux-2.6.24.noarch/net/mac80211/ieee80211_i.h
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig	2008-05-01 15:26:36.000000000 -0400
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_i.h	2008-05-01 15:45:10.000000000 -0400
+@@ -354,7 +354,7 @@ struct ieee80211_if_sta {
+ 	int preq_queue_len;
+ 	struct mesh_stats mshstats;
+ 	struct mesh_config mshcfg;
+-	u8 mesh_seqnum[3];
++	u32 mesh_seqnum;
+ 	bool accepting_plinks;
+ #endif
+ 	u16 aid;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c.orig	2008-04-24 23:23:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c	2008-05-01 15:42:00.000000000 -0400
 @@ -2043,7 +2043,7 @@ int b43_phy_init(struct b43_wldev *dev)
  void b43_set_rx_antenna(struct b43_wldev *dev, int antenna)
  {
@@ -344,8 +614,8 @@
  	int autodiv = 0;
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig	2008-04-24 23:23:29.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.c	2008-05-01 15:45:10.000000000 -0400
 @@ -83,6 +83,10 @@ int b43_modparam_qos = 1;
  module_param_named(qos, b43_modparam_qos, int, 0444);
  MODULE_PARM_DESC(qos, "Enable QOS support (default on)");
@@ -395,7 +665,22 @@
  
  	B43_WARN_ON(b43_status(dev) != B43_STAT_UNINIT);
  
-@@ -4409,8 +4418,16 @@ static int b43_one_core_attach(struct ss
+@@ -4312,6 +4321,14 @@ static int b43_wireless_core_attach(stru
+ 		err = -EOPNOTSUPP;
+ 		goto err_powerdown;
+ 	}
++	if (1 /* disable A-PHY */) {
++		/* FIXME: For now we disable the A-PHY on multi-PHY devices. */
++		if (dev->phy.type != B43_PHYTYPE_N) {
++			have_2ghz_phy = 1;
++			have_5ghz_phy = 0;
++		}
++	}
++
+ 	dev->phy.gmode = have_2ghz_phy;
+ 	tmp = dev->phy.gmode ? B43_TMSLOW_GMODE : 0;
+ 	b43_wireless_core_reset(dev, tmp);
+@@ -4409,8 +4426,16 @@ static int b43_one_core_attach(struct ss
  	return err;
  }
  
@@ -412,7 +697,7 @@
  	/* boardflags workarounds */
  	if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL &&
  	    bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74)
-@@ -4418,6 +4435,13 @@ static void b43_sprom_fixup(struct ssb_b
+@@ -4418,6 +4443,13 @@ static void b43_sprom_fixup(struct ssb_b
  	if (bus->boardinfo.vendor == PCI_VENDOR_ID_APPLE &&
  	    bus->boardinfo.type == 0x4E && bus->boardinfo.rev > 0x40)
  		bus->sprom.boardflags_lo |= B43_BFL_PACTRL;
@@ -427,8 +712,8 @@
  
  static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl)
 diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c.orig	2008-04-24 23:23:29.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c	2008-05-01 15:42:00.000000000 -0400
 @@ -980,6 +980,42 @@ void b43_dma_free(struct b43_wldev *dev)
  	destroy_ring(dma, tx_ring_mcast);
  }
@@ -490,9 +775,22 @@
  
  	err = -ENOMEM;
  	/* setup TX DMA channels. */
+diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig	2008-05-01 15:26:37.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c	2008-05-01 15:45:10.000000000 -0400
+@@ -298,7 +298,8 @@ static int lbs_do_scan(struct lbs_privat
+ 	uint8_t *tlv;	/* pointer into our current, growing TLV storage area */
+ 
+ 	lbs_deb_enter_args(LBS_DEB_SCAN, "bsstype %d, chanlist[].chan %d, chan_count %d",
+-			   bsstype, chan_list[0].channumber, chan_count);
++		bsstype, chan_list ? chan_list[0].channumber : -1,
++		chan_count);
+ 
+ 	/* create the fixed part for scan command */
+ 	scan_cmd = kzalloc(MAX_SCAN_CFG_ALLOC, GFP_KERNEL);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c
---- linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig	2008-04-24 23:23:30.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c	2008-05-01 15:42:00.000000000 -0400
 @@ -1186,7 +1186,7 @@ prism54_get_encode(struct net_device *nd
  	rvalue |= mgt_get_request(priv, DOT11_OID_DEFKEYID, 0, NULL, &r);
  	devindex = r.u;
@@ -503,8 +801,8 @@
  		index = devindex;
  	rvalue |= mgt_get_request(priv, DOT11_OID_DEFKEYX, index, NULL, &r);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-04-24 23:23:31.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-05-01 15:42:00.000000000 -0400
 @@ -6473,7 +6473,6 @@ static int iwl4965_mac_config_interface(
  
  	if (priv->vif != vif) {
@@ -514,8 +812,8 @@
  	}
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig	2008-04-24 23:23:31.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c	2008-05-01 15:42:00.000000000 -0400
 @@ -6907,7 +6907,6 @@ static int iwl3945_mac_config_interface(
  
  	if (priv->vif != vif) {
@@ -525,8 +823,8 @@
  	}
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig	2008-04-24 23:23:31.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c	2008-05-01 15:42:00.000000000 -0400
 @@ -304,14 +304,20 @@ struct ath5k_hw *ath5k_hw_attach(struct 
  		ah->ah_radio = AR5K_RF2413;
  		ah->ah_phy_spending = AR5K_PHY_SPENDING_RF5112A;
@@ -553,8 +851,8 @@
  	 * Register returns 0x4 for radio revision
  	 * so ath5k_hw_radio_revision doesn't parse the value
 diff -up linux-2.6.24.noarch/drivers/ssb/pci.c.orig linux-2.6.24.noarch/drivers/ssb/pci.c
---- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-04-24 23:23:31.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-04-24 23:24:13.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-05-01 15:41:55.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-05-01 15:42:00.000000000 -0400
 @@ -484,6 +484,11 @@ static int sprom_extract(struct ssb_bus 
  			goto unsupported;
  	}




More information about the scm-commits mailing list