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