rpms/kernel/F-9 linux-2.6-wireless-pending-too.patch, 1.5, 1.6 kernel.spec, 1.627, 1.628
John W. Linville (linville)
fedora-extras-commits at redhat.com
Fri Apr 25 03:18:39 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv4538
Modified Files:
kernel.spec
Added Files:
linux-2.6-wireless-pending-too.patch
Log Message:
wireless fixes from 2008-04-23
linux-2.6-wireless-pending-too.patch:
Index: linux-2.6-wireless-pending-too.patch
===================================================================
RCS file: linux-2.6-wireless-pending-too.patch
diff -N linux-2.6-wireless-pending-too.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ linux-2.6-wireless-pending-too.patch 25 Apr 2008 03:17:56 -0000 1.6
@@ -0,0 +1,484 @@
+commit 099714934d80100624829f1e2961b9dccaef3280
+Author: Roland Dreier <rdreier at cisco.com>
+Date: Wed Apr 23 16:22:13 2008 -0700
+
+ iwlwifi: Don't unlock priv->mutex if it isn't locked
+
+ Commit b716bb91 ("iwlwifi: Cancel scanning upon association") moved the
+ test of priv->vif in iwl{3945,4964}_mac_config_interface() outside of
+ where priv->mutex is held, but still tries to do mutex_unlock() on
+ return. This is clearly wrong and triggers a nasty lockdep warning when
+ this codepath is triggered. Fix this by removing the mutex_unlock().
+
+ Signed-off-by: Roland Dreier <rolandd at cisco.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4d381ffb02701c3fc976091473aead7c03523133
+Author: Roel Kluin <12o3l at tiscali.nl>
+Date: Wed Apr 23 22:10:29 2008 +0200
+
+ wireless: rndis_wlan: modparam_workaround_interval is never below 0.
+
+ priv->param_workaround_interval is unsigned, modparam_workaround_interval not.
+ the former is never < 0.
+
+ Signed-off-by: Roel Kluin <12o3l at tiscali.nl>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8ba82e969f71d088f718f93d64985d5fcdd9c171
+Author: Roel Kluin <12o3l at tiscali.nl>
+Date: Wed Apr 23 21:56:49 2008 +0200
+
+ prism54: prism54_get_encode() test below 0 on unsigned index
+
+ previously in this function:
+
+ u32 index = (dwrq->flags & IW_ENCODE_INDEX) - 1;
+
+ index is unsigned, so if -1, the original test (below) didn't work.
+
+ Signed-off-by: Roel Kluin <12o3l at tiscali.nl>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d619ee08490ca78c9571dca133cd0d0527a60839
+Author: Luis Carlos Cobo <luisca at cozybit.com>
+Date: Wed Apr 23 12:34:59 2008 -0700
+
+ mac80211: update mesh EID values
+
+ This patch updates mesh EID values, some of which where conflicting with
+ already-approved 11h EIDs (pointed out by Tomas Winkler). I wanted to use the
+ values suggested in the last available 802.11 draft (2.0) but it assigns 50 to
+ MESH_CONFIG, the same value than EXT_SUPP_RATES. Using the values proposed in
+ the draft incremented by one.
+
+ Signed-off-by: Luis Carlos Cobo <luisca at cozybit.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0da926f05748d273e7b2b673b0de21629ae9acdd
+Author: Ron Rindjunsky <ron.rindjunsky at intel.com>
+Date: Wed Apr 23 13:45:12 2008 +0300
+
+ mac80211: fix use before check of Qdisc length
+
+ This patch fixes use of Qdisc length in requeue function, before we checked
+ the reference is valid. (Adrian Bunk's catch)
+
+ Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+ Signed-off-by: Adrian Bunk <bunk at kernel.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 13d8fd2d15fdd492078bedb9fde87c901a4e4df0
+Author: Adrian Bunk <bunk at kernel.org>
+Date: Wed Apr 23 12:51:28 2008 +0300
+
+ net/mac80211/rx.c: fix off-by-one
+
+ This patch fixes an off-by-one in net/mac80211/rx.c introduced by
+ commit 8318d78a44d49ac1edf2bdec7299de3617c4232e
+ (cfg80211 API for channels/bitrates, mac80211 and driver conversion)
+ and spotted by the Coverity checker.
+
+ Signed-off-by: Adrian Bunk <bunk at kernel.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 1ebebea8e844d01c80b93b8ee4d696ee7c0cbc27
+Author: Pavel Emelyanov <xemul at openvz.org>
+Date: Wed Apr 23 11:47:15 2008 +0400
+
+ mac80211: Fix race between ieee80211_rx_bss_put and lookup routines.
+
+ The put routine first decrements the users counter and then
+ (if it is zero) locks the sta_bss_lock and removes one from
+ the list and the hash.
+
+ Thus, any of ieee80211_sta_config_auth, ieee80211_rx_bss_get
+ or ieee80211_rx_mesh_bss_get can race with it by finding a
+ bss that is about to get kfree-ed.
+
+ Using atomic_dec_and_lock in ieee80211_rx_bss_put takes care
+ of this race.
+
+ Signed-off-by: Pavel Emelyanov <xemul at openvz.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4503183aa32e6886400d82282292934fa64a81b0
+Author: Larry Finger <Larry.Finger at lwfinger.net>
+Date: Sat Apr 19 17:52:12 2008 +0200
+
+ ssb: Fix all-ones boardflags
+
+ In the SSB SPROM a field set to all ones means the value
+ is not defined in the SPROM.
+ In case of the boardflags, we need to set them to zero
+ to avoid confusing drivers. Drivers will only check the
+ flags by ANDing.
+
+ Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>
+ Signed-off-by: Gabor Stefanik <netrolller.3d at gmail.com>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 9fc38458355525f801cd2ab403ac89850489a05e
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sat Apr 19 16:53:00 2008 +0200
+
+ b43: Add more btcoexist workarounds
+
+ This adds more workarounds for devices with broken BT bits.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a259d6a45b915e00e8c6085e35fea7b61e3008a8
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Fri Apr 18 21:06:37 2008 +0200
+
+ b43: Fix HostFlags data types
+
+ The HostFlags are a bitmask of 48bit. So we must use an u64 datatype
+ to hold all bits.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 1855ba7812dbd294fcfc083dc7d3b14d3b1f38db
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Fri Apr 18 20:51:41 2008 +0200
+
+ b43: Workaround invalid bluetooth settings
+
+ This adds a workaround for invalid bluetooth SPROM settings
+ on ASUS PCI cards.
+ This will stop the microcode from poking with the BT GPIO line.
+ This fixes data transmission on this device, as the BT GPIO line
+ is used for something TX related on this device
+ (probably the power amplifier or the radio).
+ This also adds a modparam knob to help debugging this in the future,
+ as more devices with this bug may show up.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0f48d7e1cf2341148dcafc19a098ca22e184bee9
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Thu Apr 17 19:36:28 2008 +0200
+
+ mac80211: MAINTAINERS update
+
+ This updates the mac80211 maintainers entry to
+  1) remove Jiri
+ 2) put me first
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Cc: Michael Wu <flamingice at sourmilk.net>
+ Cc: Jiri Benc <jbenc at suse.cz>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a46f025d053e47b9ce602f53f6d30e94d304a51c
+Author: Abhijeet Kolekar <abhijeet.kolekar at intel.com>
+Date: Wed Apr 16 14:02:04 2008 -0700
+
+ mac80211: Fix n-band association problem
+
+ There are two structures named wmm_info and wmm_param, they are used while
+ parsing the beacon frame. (Check the function ieee802_11_parse_elems).
+ Certain APs like D-link does not set the fifth bit in WMM IE.
+ While sending the association request to n-only ap it checks for wmm_ie.
+ If it is set then only ieee80211_ht_cap is sent during association request.
+ So n-only association fails.
+ And this patch fixes this problem by copying the wmm_info to wmm_ie,
+ which enables the "wmm" flag in iee80211_send_assoc.
+
+ Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar at intel.com>
+ Acked-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+diff -up linux-2.6.25.noarch/include/linux/ieee80211.h.orig linux-2.6.25.noarch/include/linux/ieee80211.h
+--- linux-2.6.25.noarch/include/linux/ieee80211.h.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/include/linux/ieee80211.h 2008-04-24 17:23:32.000000000 -0400
+@@ -465,13 +465,19 @@ enum ieee80211_eid {
+ WLAN_EID_TS_DELAY = 43,
+ WLAN_EID_TCLAS_PROCESSING = 44,
+ WLAN_EID_QOS_CAPA = 46,
+- /* 802.11s */
+- WLAN_EID_MESH_CONFIG = 36, /* Pending IEEE 802.11 ANA approval */
+- WLAN_EID_MESH_ID = 37, /* Pending IEEE 802.11 ANA approval */
+- WLAN_EID_PEER_LINK = 40, /* Pending IEEE 802.11 ANA approval */
+- WLAN_EID_PREQ = 53, /* Pending IEEE 802.11 ANA approval */
+- WLAN_EID_PREP = 54, /* Pending IEEE 802.11 ANA approval */
+- WLAN_EID_PERR = 55, /* Pending IEEE 802.11 ANA approval */
++ /* 802.11s
++ *
++ * All mesh EID numbers are pending IEEE 802.11 ANA approval.
++ * The numbers have been incremented from those suggested in
++ * 802.11s/D2.0 so that MESH_CONFIG does not conflict with
++ * EXT_SUPP_RATES.
++ */
++ WLAN_EID_MESH_CONFIG = 51,
++ WLAN_EID_MESH_ID = 52,
++ WLAN_EID_PEER_LINK = 55,
++ WLAN_EID_PREQ = 68,
++ WLAN_EID_PREP = 69,
++ WLAN_EID_PERR = 70,
+ /* 802.11h */
+ WLAN_EID_PWR_CONSTRAINT = 32,
+ WLAN_EID_PWR_CAPABILITY = 33,
+diff -up linux-2.6.25.noarch/MAINTAINERS.orig linux-2.6.25.noarch/MAINTAINERS
+--- linux-2.6.25.noarch/MAINTAINERS.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/MAINTAINERS 2008-04-24 17:23:32.000000000 -0400
+@@ -2550,12 +2550,10 @@ W: http://www.tazenda.demon.co.uk/phil/l
+ S: Maintained
+
+ MAC80211
+-P: Michael Wu
+-M: flamingice at sourmilk.net
+ P: Johannes Berg
+ M: johannes at sipsolutions.net
+-P: Jiri Benc
+-M: jbenc at suse.cz
++P: Michael Wu
++M: flamingice at sourmilk.net
+ L: linux-wireless at vger.kernel.org
+ W: http://linuxwireless.org/
+ T: git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
+diff -up linux-2.6.25.noarch/net/mac80211/rx.c.orig linux-2.6.25.noarch/net/mac80211/rx.c
+--- linux-2.6.25.noarch/net/mac80211/rx.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/rx.c 2008-04-24 17:23:32.000000000 -0400
+@@ -2170,7 +2170,7 @@ void __ieee80211_rx(struct ieee80211_hw
+ struct ieee80211_supported_band *sband;
+
+ if (status->band < 0 ||
+- status->band > IEEE80211_NUM_BANDS) {
++ status->band >= IEEE80211_NUM_BANDS) {
+ WARN_ON(1);
+ return;
+ }
+diff -up linux-2.6.25.noarch/net/mac80211/wme.c.orig linux-2.6.25.noarch/net/mac80211/wme.c
+--- linux-2.6.25.noarch/net/mac80211/wme.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wme.c 2008-04-24 17:23:32.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];
+ struct sk_buff *skb = NULL;
+- u32 len = qdisc->q.qlen;
++ u32 len;
+
+ if (!qdisc || !qdisc->dequeue)
+ return;
+diff -up linux-2.6.25.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.25.noarch/net/mac80211/ieee80211_sta.c
+--- linux-2.6.25.noarch/net/mac80211/ieee80211_sta.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/ieee80211_sta.c 2008-04-24 17:23:32.000000000 -0400
+@@ -2240,10 +2240,13 @@ static void ieee80211_rx_bss_put(struct
+ struct ieee80211_sta_bss *bss)
+ {
+ struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+- if (!atomic_dec_and_test(&bss->users))
++
++ local_bh_disable();
++ if (!atomic_dec_and_lock(&bss->users, &local->sta_bss_lock)) {
++ local_bh_enable();
+ return;
++ }
+
+- spin_lock_bh(&local->sta_bss_lock);
+ __ieee80211_rx_bss_hash_del(dev, bss);
+ list_del(&bss->list);
+ spin_unlock_bh(&local->sta_bss_lock);
+@@ -2660,7 +2663,26 @@ static void ieee80211_rx_bss_info(struct
+ bss->wmm_ie_len = elems.wmm_param_len + 2;
+ } else
+ bss->wmm_ie_len = 0;
+- } else if (!elems.wmm_param && bss->wmm_ie) {
++ } else if (elems.wmm_info &&
++ (!bss->wmm_ie || bss->wmm_ie_len != elems.wmm_info_len ||
++ memcmp(bss->wmm_ie, elems.wmm_info, elems.wmm_info_len))) {
++ /* As for certain AP's Fifth bit is not set in WMM IE in
++ * beacon frames.So while parsing the beacon frame the
++ * wmm_info structure is used instead of wmm_param.
++ * wmm_info structure was never used to set bss->wmm_ie.
++ * This code fixes this problem by copying the WME
++ * information from wmm_info to bss->wmm_ie and enabling
++ * n-band association.
++ */
++ kfree(bss->wmm_ie);
++ bss->wmm_ie = kmalloc(elems.wmm_info_len + 2, GFP_ATOMIC);
++ if (bss->wmm_ie) {
++ memcpy(bss->wmm_ie, elems.wmm_info - 2,
++ elems.wmm_info_len + 2);
++ bss->wmm_ie_len = elems.wmm_info_len + 2;
++ } else
++ bss->wmm_ie_len = 0;
++ } else if (!elems.wmm_param && !elems.wmm_info && bss->wmm_ie) {
+ kfree(bss->wmm_ie);
+ bss->wmm_ie = NULL;
+ bss->wmm_ie_len = 0;
+diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c.orig 2008-04-16 22:49:44.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c 2008-04-24 17:23:32.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)
+ {
+ struct b43_phy *phy = &dev->phy;
+- u32 hf;
++ u64 hf;
+ u16 tmp;
+ int autodiv = 0;
+
+diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/main.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/main.c
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/main.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/main.c 2008-04-24 17:23:32.000000000 -0400
+@@ -82,6 +82,10 @@ int b43_modparam_qos = 1;
+ module_param_named(qos, b43_modparam_qos, int, 0444);
+ MODULE_PARM_DESC(qos, "Enable QOS support (default on)");
+
++static int modparam_btcoex = 1;
++module_param_named(btcoex, modparam_btcoex, int, 0444);
++MODULE_PARM_DESC(btcoex, "Enable Bluetooth coexistance (default on)");
++
+
+ static const struct ssb_device_id b43_ssb_tbl[] = {
+ SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 5),
+@@ -3597,8 +3601,10 @@ static void setup_struct_wldev_for_init(
+ static void b43_bluetooth_coext_enable(struct b43_wldev *dev)
+ {
+ struct ssb_sprom *sprom = &dev->dev->bus->sprom;
+- u32 hf;
++ u64 hf;
+
++ if (!modparam_btcoex)
++ return;
+ if (!(sprom->boardflags_lo & B43_BFL_BTCOEXIST))
+ return;
+ if (dev->phy.type != B43_PHYTYPE_B && !dev->phy.gmode)
+@@ -3610,11 +3616,13 @@ static void b43_bluetooth_coext_enable(s
+ else
+ hf |= B43_HF_BTCOEX;
+ b43_hf_write(dev, hf);
+- //TODO
+ }
+
+ static void b43_bluetooth_coext_disable(struct b43_wldev *dev)
+-{ //TODO
++{
++ if (!modparam_btcoex)
++ return;
++ //TODO
+ }
+
+ static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev)
+@@ -3707,7 +3715,8 @@ static int b43_wireless_core_init(struct
+ struct ssb_sprom *sprom = &bus->sprom;
+ struct b43_phy *phy = &dev->phy;
+ int err;
+- u32 hf, tmp;
++ u64 hf;
++ u32 tmp;
+
+ B43_WARN_ON(b43_status(dev) != B43_STAT_UNINIT);
+
+@@ -4265,8 +4274,16 @@ static int b43_one_core_attach(struct ss
+ return err;
+ }
+
++#define IS_PDEV(pdev, _vendor, _device, _subvendor, _subdevice) ( \
++ (pdev->vendor == PCI_VENDOR_ID_##_vendor) && \
++ (pdev->device == _device) && \
++ (pdev->subsystem_vendor == PCI_VENDOR_ID_##_subvendor) && \
++ (pdev->subsystem_device == _subdevice) )
++
+ static void b43_sprom_fixup(struct ssb_bus *bus)
+ {
++ struct pci_dev *pdev;
++
+ /* boardflags workarounds */
+ if (bus->boardinfo.vendor == SSB_BOARDVENDOR_DELL &&
+ bus->chip_id == 0x4301 && bus->boardinfo.rev == 0x74)
+@@ -4274,6 +4291,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;
++ if (bus->bustype == SSB_BUSTYPE_PCI) {
++ pdev = bus->host_pci;
++ if (IS_PDEV(pdev, BROADCOM, 0x4318, ASUSTEK, 0x100F) ||
++ IS_PDEV(pdev, BROADCOM, 0x4320, LINKSYS, 0x0015) ||
++ IS_PDEV(pdev, BROADCOM, 0x4320, LINKSYS, 0x0013))
++ bus->sprom.boardflags_lo &= ~B43_BFL_BTCOEXIST;
++ }
+ }
+
+ static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl)
+diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rndis_wlan.c.orig linux-2.6.25.noarch/drivers/net/wireless/rndis_wlan.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rndis_wlan.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rndis_wlan.c 2008-04-24 17:23:32.000000000 -0400
+@@ -2402,7 +2402,6 @@ static int bcm4320_early_init(struct usb
+ priv->param_power_output = modparam_power_output;
+ priv->param_roamtrigger = modparam_roamtrigger;
+ priv->param_roamdelta = modparam_roamdelta;
+- priv->param_workaround_interval = modparam_workaround_interval;
+
+ priv->param_country[0] = toupper(priv->param_country[0]);
+ priv->param_country[1] = toupper(priv->param_country[1]);
+@@ -2425,8 +2424,10 @@ static int bcm4320_early_init(struct usb
+ else if (priv->param_roamdelta > 2)
+ priv->param_roamdelta = 2;
+
+- if (priv->param_workaround_interval < 0)
++ if (modparam_workaround_interval < 0)
+ priv->param_workaround_interval = 500;
++ else
++ priv->param_workaround_interval = modparam_workaround_interval;
+
+ rndis_set_config_parameter_str(dev, "Country", priv->param_country);
+ rndis_set_config_parameter_str(dev, "FrameBursting",
+diff -up linux-2.6.25.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig linux-2.6.25.noarch/drivers/net/wireless/prism54/isl_ioctl.c
+--- linux-2.6.25.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2008-04-24 17:23:32.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;
+ /* Now get the key, return it */
+- if ((index < 0) || (index > 3))
++ if (index == -1 || index > 3)
+ /* no index provided, use the current one */
+ index = devindex;
+ rvalue |= mgt_get_request(priv, DOT11_OID_DEFKEYX, index, NULL, &r);
+diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c 2008-04-24 17:23:32.000000000 -0400
+@@ -6809,7 +6809,6 @@ static int iwl4965_mac_config_interface(
+
+ if (priv->vif != vif) {
+ IWL_DEBUG_MAC80211("leave - priv->vif != vif\n");
+- mutex_unlock(&priv->mutex);
+ return 0;
+ }
+
+diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-04-24 17:23:32.000000000 -0400
+@@ -6903,7 +6903,6 @@ static int iwl3945_mac_config_interface(
+
+ if (priv->vif != vif) {
+ IWL_DEBUG_MAC80211("leave - priv->vif != vif\n");
+- mutex_unlock(&priv->mutex);
+ return 0;
+ }
+
+diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c
+diff -up linux-2.6.25.noarch/drivers/ssb/pci.c.orig linux-2.6.25.noarch/drivers/ssb/pci.c
+--- linux-2.6.25.noarch/drivers/ssb/pci.c.orig 2008-04-24 16:58:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/ssb/pci.c 2008-04-24 17:23:32.000000000 -0400
+@@ -484,6 +484,11 @@ static int sprom_extract(struct ssb_bus
+ goto unsupported;
+ }
+
++ if (out->boardflags_lo == 0xFFFF)
++ out->boardflags_lo = 0; /* per specs */
++ if (out->boardflags_hi == 0xFFFF)
++ out->boardflags_hi = 0; /* per specs */
++
+ return 0;
+ unsupported:
+ ssb_printk(KERN_WARNING PFX "Unsupported SPROM revision %d "
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.627
retrieving revision 1.628
diff -u -r1.627 -r1.628
--- kernel.spec 23 Apr 2008 06:48:40 -0000 1.627
+++ kernel.spec 25 Apr 2008 03:17:56 -0000 1.628
@@ -612,7 +612,8 @@
Patch680: linux-2.6-wireless.patch
Patch681: linux-2.6-wireless-pending.patch
-Patch682: linux-2.6-rt2x00-configure_filter.patch
+Patch682: linux-2.6-wireless-pending-too.patch
+Patch683: linux-2.6-rt2x00-configure_filter.patch
Patch690: linux-2.6-at76.patch
Patch700: linux-2.6-nfs-client-mounts-hang.patch
@@ -1136,6 +1137,7 @@
#ApplyPatch linux-2.6-wireless.patch
# wireless patches headed for 2.6.26
ApplyPatch linux-2.6-wireless-pending.patch
+ApplyPatch linux-2.6-wireless-pending-too.patch
# rt2x00 configure_filter fix to avoid endless loop on insert for USB devices
ApplyPatch linux-2.6-rt2x00-configure_filter.patch
@@ -1783,6 +1785,21 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
%changelog
+* Thu Apr 24 2008 John W. Linville <linville at redhat.com>
+- mac80211: Fix n-band association problem
+- net/mac80211/rx.c: fix off-by-one
+- mac80211: MAINTAINERS update
+- ssb: Fix all-ones boardflags
+- mac80211: update mesh EID values
+- b43: Workaround invalid bluetooth settings
+- b43: Fix HostFlags data types
+- b43: Add more btcoexist workarounds
+- mac80211: Fix race between ieee80211_rx_bss_put and lookup routines.
+- prism54: prism54_get_encode() test below 0 on unsigned index
+- wireless: rndis_wlan: modparam_workaround_interval is never below 0.
+- iwlwifi: Don't unlock priv->mutex if it isn't locked
+- mac80211: fix use before check of Qdisc length
+
* Wed Apr 23 2008 Dave Airlie <airlied at redhat.com>
- drm fixup oops in modesetting code and stable fixes for i915 code from upstream
More information about the fedora-extras-commits
mailing list