rpms/kernel/devel kernel.spec, 1.365, 1.366 linux-2.6-wireless-pending-too.patch, 1.1, 1.2 linux-2.6-wireless.patch, 1.17, 1.18
John W. Linville (linville)
fedora-extras-commits at redhat.com
Thu Jan 17 18:47:51 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22658
Modified Files:
kernel.spec linux-2.6-wireless-pending-too.patch
linux-2.6-wireless.patch
Log Message:
More wireless fixes headed for 2.6.24 ; More wireless updates headed for 2.6.25
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.365
retrieving revision 1.366
diff -u -r1.365 -r1.366
--- kernel.spec 16 Jan 2008 17:35:23 -0000 1.365
+++ kernel.spec 17 Jan 2008 18:47:15 -0000 1.366
@@ -1125,7 +1125,7 @@
ApplyPatch linux-2.6-ata-quirk.patch
# wireless patches headed for 2.6.24
-#ApplyPatch linux-2.6-wireless.patch
+ApplyPatch linux-2.6-wireless.patch
# wireless patches headed for 2.6.25
ApplyPatch linux-2.6-wireless-pending.patch
@@ -1757,6 +1757,10 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Thu Jan 17 2008 John W. Linville <linville at redhat.com>
+- More wireless fixes headed for 2.6.24
+- More wireless updates headed for 2.6.25
+
* Wed Jan 16 2008 Kyle McMartin <kmcmartin at redhat.com>
- 2.6.24-rc8
linux-2.6-wireless-pending-too.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.1 -r 1.2 linux-2.6-wireless-pending-too.patch
Index: linux-2.6-wireless-pending-too.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless-pending-too.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-wireless-pending-too.patch 9 Jan 2008 16:58:18 -0000 1.1
+++ linux-2.6-wireless-pending-too.patch 17 Jan 2008 18:47:15 -0000 1.2
@@ -1,4 +1,489 @@
-commit 6e800de90057baf13db333925fd7f60b8ce3ce5c
+commit 8f5c75797749f2ff0292476770d1b123e940272a
+Author: Andrew Morton <akpm at linux-foundation.org>
+Date: Wed Jan 16 02:58:24 2008 -0800
+
+ drivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warning
+
+ Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 9f7209dbf220cf297f7377cec4277066b06fc0be
+Author: Andrew Morton <akpm at linux-foundation.org>
+Date: Wed Jan 16 02:56:33 2008 -0800
+
+ drivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warning
+
+ drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_add_radiotap':
+ drivers/net/wireless/iwlwifi/iwl-3945.c:269: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int'
+
+ Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 61b95b94cb2874ab7ad30c0e190f12772b9eaec1
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date: Sun Jan 13 18:35:52 2008 +0100
+
+ b43legacy: fix use-after-free rfkill bug
+
+ Fix rfkill code which caused a use-after-free bug. Thanks to David
+ Woodhouse for spotting this out.
+
+ Cc: David Woodhouse <dwmw2 at infradead.org>
+ Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 446ee8df9437440ea36cd5354a11c8e2e7f3ac13
+Author: Ron Rindjunsky <ron.rindjunsky at intel.com>
+Date: Sun Jan 13 18:25:43 2008 +0200
+
+ mac80211: A-MPDU Rx remove stop_rx_ba_session warning print
+
+ This patch removes a warning print from ieee80211_sta_stop_rx_ba_session
+ in case the tid is inactive when interface goes down.
+
+ Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+ Acked-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d25784e1c4194b34148b4fd00e177d07012035d6
+Author: Ron Rindjunsky <ron.rindjunsky at intel.com>
+Date: Sun Jan 13 18:21:58 2008 +0200
+
+ mac80211: A-MPDU Rx stop aggregation on proper dev
+
+ This patch adds a check to insure that Rx A-MPDU will be stopped only
+ for the proper device.
+
+ Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+ Acked-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 576d6841734351bb36d85ae7d01b68197d7cd50d
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Jan 13 14:16:47 2008 +0100
+
+ mac80211: Initialize vif pointer
+
+ Before calling update_beacon() mac80211 must
+ initialize the control.vif pointer so it can
+ be used by the driver to determine which
+ interface is trying to send the beacon.
+
+ v2: ieee80211_beacon_get() should also initialize the
+ vif pointer since it can be called by mac80211 internally
+ before calling config_interface().
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Acked-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bfde1a26d76dc003ce04a537ce201af12090ce0d
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date: Wed Jan 16 15:59:52 2008 +0100
+
+ libertas: pepper main with debug statement
+
+ libertas: re-pepper debug statementThe recent fluff of updates
+ didn't put proper lbs_deb_enter/leave calls into the source code.
+ Add them where appropriate.
+
+ Also contains some whitespace changes.
+
+ Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 11d13369ca780343f641b7ab0393c1a4c97d35db
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date: Wed Jan 16 15:57:44 2008 +0100
+
+ libertas: don't blindly try mesh
+
+ The CF card only has a very old firmware (5.0.16p0). This firmware doesn't
+ know anything about mesh config. However, current code blindly calls
+ mesh_config when the card is inserted. So check the firmware version before
+ issuing this command.
+
+ Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 05ba00da58d4c3c513458ab6f1acefb418ea6d59
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date: Wed Jan 16 15:55:22 2008 +0100
+
+ libertas: always show firmware release
+
+ Always shows the firmware release.
+
+ Also converts the firmware release into something that is easily comparable.
+
+ Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 7b44caf01905d68cdae424d42efbcff3e9177859
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date: Wed Jan 16 15:52:58 2008 +0100
+
+ libertas: move cardspecific data to driver
+
+ boot2_version is purely USB specific, so move it to struct if_usb_card.
+
+ Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 1b03b8df499d2218d3416d2d4cdf38030e9fd494
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date: Wed Jan 16 15:48:44 2008 +0100
+
+ libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message
+
+ netif_rx should be called only from interrupt context. if_cs and if_sdio receive
+ packets from other contexts, and thus should call netif_rx_ni.
+
+ Signed-off-by: Marc Pignat <marc.pignat at hevs.ch>
+ Acked-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 40a0c491892f0186462cf9ffeebbaaa29c30ff46
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Wed Jan 16 02:14:23 2008 +0100
+
+ b43: Add lots of N-PHY lookup tables
+
+ This adds lots of N-PHY related lookup tables.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 6643962829da926f171ed711a0ebb98de18e8f30
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Mon Jan 14 17:46:25 2008 -0800
+
+ iwlwifi: style fixes to usage of << and >> operators
+
+ The << and >> operators need space on each side.
+
+ Cc: Stefano Brivio <stefano.brivio at polimi.it>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Acked-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 6f8cd5ea0282bd6b66f1371d731e0cce143d94fa
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Mon Jan 14 17:46:24 2008 -0800
+
+ iwlwifi: remove reference to non-existent documentation
+
+ The external iwlwifi driver comes with a README file that is
+ referenced by the Kconfig. This README is not present in the
+ driver included in the kernel. Remove references to this
+ documentation.
+
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Acked-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 08a71a59a43d0502ec12bc96c7d908dec9662487
+Author: Zhu Yi <yi.zhu at intel.com>
+Date: Mon Jan 14 17:46:23 2008 -0800
+
+ iwlwifi: Update iwlwifi version stamp to 1.2.23
+
[...11412 lines suppressed...]
+ * Set descriptor and data pointer.
+ */
+- skbdesc->desc = entry->skb->data + skbdesc->data_len;
++ skbdesc->desc = entry->skb->data + desc->size;
++ skbdesc->desc_len = entry->ring->desc_size;
+ skbdesc->data = entry->skb->data;
++ skbdesc->data_len = desc->size;
+ }
+
+ /*
+@@ -1776,7 +1773,7 @@ static const struct ieee80211_ops rt2500
.config_interface = rt2x00mac_config_interface,
.configure_filter = rt2500usb_configure_filter,
.get_stats = rt2x00mac_get_stats,
@@ -4441,8 +14388,8 @@
.get_tx_stats = rt2x00mac_get_tx_stats,
.beacon_update = rt2500usb_beacon_update,
diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c
---- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-01-17 13:36:10.000000000 -0500
@@ -181,7 +181,7 @@ int rt2x00mac_add_interface(struct ieee8
is_interface_present(intf))
return -ENOBUFS;
@@ -4505,8 +14452,8 @@
int rt2x00mac_conf_tx(struct ieee80211_hw *hw, int queue,
const struct ieee80211_tx_queue_params *params)
diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c
---- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2500pci.c 2008-01-17 13:36:10.000000000 -0500
@@ -1835,7 +1835,7 @@ static const struct ieee80211_ops rt2500
.configure_filter = rt2500pci_configure_filter,
.get_stats = rt2x00mac_get_stats,
@@ -4517,8 +14464,8 @@
.get_tx_stats = rt2x00mac_get_tx_stats,
.get_tsf = rt2500pci_get_tsf,
diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c
---- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-01-17 13:36:10.000000000 -0500
@@ -2442,7 +2442,7 @@ static const struct ieee80211_ops rt61pc
.configure_filter = rt61pci_configure_filter,
.get_stats = rt2x00mac_get_stats,
@@ -4529,9 +14476,29 @@
.get_tx_stats = rt2x00mac_get_tx_stats,
.get_tsf = rt61pci_get_tsf,
diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c
---- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-01-09 11:28:46.000000000 -0500
-@@ -2024,7 +2024,7 @@ static const struct ieee80211_ops rt73us
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-01-17 13:36:10.000000000 -0500
+@@ -1398,15 +1398,12 @@ static void rt73usb_fill_rxdone(struct d
+ desc->my_bss = !!rt2x00_get_field32(word0, RXD_W0_MY_BSS);
+
+ /*
+- * Pull the skb to clear the descriptor area.
+- */
+- skb_pull(entry->skb, entry->ring->desc_size);
+-
+- /*
+ * Set descriptor and data pointer.
+ */
+- skbdesc->desc = entry->skb->data - skbdesc->desc_len;
+- skbdesc->data = entry->skb->data;
++ skbdesc->desc = entry->skb->data;
++ skbdesc->desc_len = entry->ring->desc_size;
++ skbdesc->data = entry->skb->data + entry->ring->desc_size;
++ skbdesc->data_len = desc->size;
+ }
+
+ /*
+@@ -2024,7 +2021,7 @@ static const struct ieee80211_ops rt73us
.configure_filter = rt73usb_configure_filter,
.get_stats = rt2x00mac_get_stats,
.set_retry_limit = rt73usb_set_retry_limit,
@@ -4541,8 +14508,8 @@
.get_tx_stats = rt2x00mac_get_tx_stats,
.get_tsf = rt73usb_get_tsf,
diff -up linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c
---- linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c 2008-01-17 13:36:10.000000000 -0500
@@ -533,7 +533,7 @@ static inline void ath5k_hw_write_rate_d
* ieee80211_duration() for a brief description of
* what rate we should choose to TX ACKs. */
@@ -4568,8 +14535,8 @@
/*
diff -up linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c.orig linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c
---- linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c 2008-01-17 13:36:10.000000000 -0500
@@ -178,7 +178,8 @@ static void ath5k_remove_interface(struc
struct ieee80211_if_init_conf *conf);
static int ath5k_config(struct ieee80211_hw *hw,
@@ -4580,7 +14547,7 @@
struct ieee80211_if_conf *conf);
static void ath5k_configure_filter(struct ieee80211_hw *hw,
unsigned int changed_flags,
-@@ -2505,12 +2506,12 @@ static int ath5k_add_interface(struct ie
+@@ -2498,12 +2499,12 @@ static int ath5k_add_interface(struct ie
int ret;
mutex_lock(&sc->lock);
@@ -4595,7 +14562,7 @@
switch (conf->type) {
case IEEE80211_IF_TYPE_STA:
-@@ -2535,10 +2536,10 @@ ath5k_remove_interface(struct ieee80211_
+@@ -2528,10 +2529,10 @@ ath5k_remove_interface(struct ieee80211_
struct ath5k_softc *sc = hw->priv;
mutex_lock(&sc->lock);
@@ -4608,7 +14575,7 @@
end:
mutex_unlock(&sc->lock);
}
-@@ -2556,7 +2557,7 @@ ath5k_config(struct ieee80211_hw *hw,
+@@ -2549,7 +2550,7 @@ ath5k_config(struct ieee80211_hw *hw,
}
static int
@@ -4617,7 +14584,7 @@
struct ieee80211_if_conf *conf)
{
struct ath5k_softc *sc = hw->priv;
-@@ -2567,7 +2568,7 @@ ath5k_config_interface(struct ieee80211_
+@@ -2560,7 +2561,7 @@ ath5k_config_interface(struct ieee80211_
* be set to mac80211's value at ath5k_config(). */
sc->bintval = 1000 * 1000 / 1024;
mutex_lock(&sc->lock);
@@ -4627,8 +14594,8 @@
goto unlock;
}
diff -up linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h.orig linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h
---- linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h 2008-01-17 13:36:10.000000000 -0500
@@ -123,7 +123,7 @@ struct ath5k_softc {
unsigned int curmode; /* current phy mode */
struct ieee80211_channel *curchan; /* current h/w channel */
@@ -4639,8 +14606,8 @@
struct {
u8 rxflags; /* radiotap rx flags */
diff -up linux-2.6.23.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.23.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.23.noarch/drivers/net/wireless/adm8211.c.orig 2008-01-09 11:04:05.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/adm8211.c 2008-01-09 11:28:46.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/adm8211.c.orig 2008-01-17 13:34:47.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/adm8211.c 2008-01-17 13:36:10.000000000 -0500
@@ -1312,7 +1312,8 @@ static int adm8211_config(struct ieee802
return 0;
}
@@ -4651,3 +14618,39 @@
struct ieee80211_if_conf *conf)
{
struct adm8211_priv *priv = dev->priv;
+diff -up linux-2.6.23.noarch/drivers/ssb/pci.c.orig linux-2.6.23.noarch/drivers/ssb/pci.c
+--- linux-2.6.23.noarch/drivers/ssb/pci.c.orig 2008-01-17 13:34:48.000000000 -0500
++++ linux-2.6.23.noarch/drivers/ssb/pci.c 2008-01-17 13:36:10.000000000 -0500
+@@ -377,6 +377,8 @@ static void sprom_extract_r123(struct ss
+ SSB_SPROM1_ITSSI_A_SHIFT);
+ SPEX(itssi_bg, SSB_SPROM1_ITSSI, SSB_SPROM1_ITSSI_BG, 0);
+ SPEX(boardflags_lo, SSB_SPROM1_BFLLO, 0xFFFF, 0);
++ if (out->revision >= 2)
++ SPEX(boardflags_hi, SSB_SPROM2_BFLHI, 0xFFFF, 0);
+
+ /* Extract the antenna gain values. */
+ gain = r123_extract_antgain(out->revision, in,
+@@ -418,6 +420,7 @@ static void sprom_extract_r4(struct ssb_
+ SSB_SPROM4_ETHPHY_ET1A_SHIFT);
+ SPEX(country_code, SSB_SPROM4_CCODE, 0xFFFF, 0);
+ SPEX(boardflags_lo, SSB_SPROM4_BFLLO, 0xFFFF, 0);
++ SPEX(boardflags_hi, SSB_SPROM4_BFLHI, 0xFFFF, 0);
+ SPEX(ant_available_a, SSB_SPROM4_ANTAVAIL, SSB_SPROM4_ANTAVAIL_A,
+ SSB_SPROM4_ANTAVAIL_A_SHIFT);
+ SPEX(ant_available_bg, SSB_SPROM4_ANTAVAIL, SSB_SPROM4_ANTAVAIL_BG,
+diff -up linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt
+--- linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt.orig 2008-01-17 13:34:47.000000000 -0500
++++ linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt 2008-01-17 13:36:10.000000000 -0500
+@@ -358,3 +358,12 @@ Why: This algorithm was provided for ref
+ responsiveness and performance and has some serious flaws. It has been
+ replaced by rc80211-pid.
+ Who: Stefano Brivio <stefano.brivio at polimi.it>
++
++---------------------------
++
++What: b43 support for firmware revision < 410
++When: July 2008
++Why: The support code for the old firmware hurts code readability/maintainability
++ and slightly hurts runtime performance. Bugfixes for the old firmware
++ are not provided by Broadcom anymore.
++Who: Michael Buesch <mb at bu3sch.de>
linux-2.6-wireless.patch:
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless.patch,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- linux-2.6-wireless.patch 10 Jan 2008 22:07:32 -0000 1.17
+++ linux-2.6-wireless.patch 17 Jan 2008 18:47:15 -0000 1.18
@@ -1,25 +1,227 @@
-commit bff0a057a309d03dee2db3e424f33e56ca395786
+commit 2518812da9315f4ebc6b11b5289e5ef205a34ced
+Author: Eric Paris <eparis at redhat.com>
+Date: Sun Jan 13 16:20:56 2008 -0500
+
+ rfkill: call rfkill_led_trigger_unregister() on error
+
+ Code inspection turned up that error cases in rfkill_register() do not
+ call rfkill_led_trigger_unregister() even though we have already
+ registered.
+
+ Signed-off-by: Eric Paris <eparis at redhat.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d101f6496d51cbeb285f531dff059ce0ef28ffe3
Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date: Wed Jan 9 19:18:25 2008 +0100
+Date: Fri Jan 11 20:53:07 2008 +0100
+
+ rt2x00: Fix ieee80211 payload alignment
+
+ As Johannes Berg indicated, the NET_IP_ALIGN doesn't
+ need to be used for ieee80211 frames. This means we
+ can simplify the alignment calculation to just
+ use the result of the header size modulus 4 as frame
+ alignment.
+
+ Furthermore we shouldn't use NET_IP_ALIGN in rt2x00usb
+ because it could be 0 on some architectures and we absolutely
+ need to have 2 bytes reserved for possible aligning.
+
+ Signed-off-by: Ivo van Doorn<IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a38db5b6219d88e2b48f07472c436b19b864f93c
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date: Sun Jan 13 18:30:14 2008 +0100
- rt2x00: Corectly initialize rt2500usb MAC
+ b43: fix use-after-free rfkill bug
- mac is a pointer, obviously we shouldn't use the address
- of a pointer as MAC address.
+ Fix rfkill code which caused a use-after-free bug.
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+ Acked-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
-index 50775f9..18b1f91 100644
---- a/drivers/net/wireless/rt2x00/rt2500usb.c
-+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
-@@ -257,7 +257,7 @@ static const struct rt2x00debug rt2500usb_rt2x00debug = {
- static void rt2500usb_config_mac_addr(struct rt2x00_dev *rt2x00dev,
- __le32 *mac)
+commit 8ff9d21ee2ac7eceeb6ba3da52c3472dcab435e4
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date: Sat Jan 12 23:12:26 2008 +0100
+
+ ipw2200: fix typo in kerneldoc
+
+ Fix a typo in kerneldoc for ipw2200.
+
+ Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 436c8854a05add153a9003b3aa19e54851ed902f
+Author: Marc Pignat <marc.pignat at hevs.ch>
+Date: Fri Jan 11 16:12:28 2008 +0100
+
+ wireless/libertas support for 88w8385 sdio older revision
+
+ Identifiaction of another revision of 88w8385 in sdio mode.
+
+ Signed-off-by: Marc Pignat <marc.pignat at hevs.ch>
+ Acked-by: Pierre Ossman <drzeus at drzeus.cx>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e52742deef04ed7babec0f5866c867dd15d449f0
+Author: Randy Dunlap <randy.dunlap at oracle.com>
+Date: Thu Jan 10 14:31:30 2008 -0800
+
+ hostap: section mismatch warning
+
+ Fix section mismatch by changing variable name to match one of the
+ whitelisted (allowable) names for pointing into init data:
+
+ WARNING: vmlinux.o(.data+0xce618): Section mismatch: reference to .init.data:prism2_plx_id_table (between 'prism2_plx_drv_id' and 'dev_info')
+
+ Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com>
+ Acked-by: Sam Ravnborg <sam at ravnborg.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+diff -up linux-2.6.23.noarch/net/rfkill/rfkill.c.orig linux-2.6.23.noarch/net/rfkill/rfkill.c
+--- linux-2.6.23.noarch/net/rfkill/rfkill.c.orig 2008-01-17 13:12:24.000000000 -0500
++++ linux-2.6.23.noarch/net/rfkill/rfkill.c 2008-01-17 13:21:22.000000000 -0500
+@@ -392,11 +392,14 @@ int rfkill_register(struct rfkill *rfkil
+ rfkill_led_trigger_register(rfkill);
+
+ error = rfkill_add_switch(rfkill);
+- if (error)
++ if (error) {
++ rfkill_led_trigger_unregister(rfkill);
+ return error;
++ }
+
+ error = device_add(dev);
+ if (error) {
++ rfkill_led_trigger_unregister(rfkill);
+ rfkill_remove_switch(rfkill);
+ return error;
+ }
+diff -up linux-2.6.23.noarch/drivers/net/wireless/b43/rfkill.c.orig linux-2.6.23.noarch/drivers/net/wireless/b43/rfkill.c
+--- linux-2.6.23.noarch/drivers/net/wireless/b43/rfkill.c.orig 2008-01-17 13:12:21.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/b43/rfkill.c 2008-01-17 13:21:40.000000000 -0500
+@@ -138,8 +138,11 @@ void b43_rfkill_init(struct b43_wldev *d
+ rfk->rfkill->user_claim_unsupported = 1;
+
+ rfk->poll_dev = input_allocate_polled_device();
+- if (!rfk->poll_dev)
+- goto err_free_rfk;
++ if (!rfk->poll_dev) {
++ rfkill_free(rfk->rfkill);
++ goto err_freed_rfk;
++ }
++
+ rfk->poll_dev->private = dev;
+ rfk->poll_dev->poll = b43_rfkill_poll;
+ rfk->poll_dev->poll_interval = 1000; /* msecs */
+@@ -175,8 +178,7 @@ err_unreg_rfk:
+ err_free_polldev:
+ input_free_polled_device(rfk->poll_dev);
+ rfk->poll_dev = NULL;
+-err_free_rfk:
+- rfkill_free(rfk->rfkill);
++err_freed_rfk:
+ rfk->rfkill = NULL;
+ out_error:
+ rfk->registered = 0;
+@@ -195,6 +197,5 @@ void b43_rfkill_exit(struct b43_wldev *d
+ rfkill_unregister(rfk->rfkill);
+ input_free_polled_device(rfk->poll_dev);
+ rfk->poll_dev = NULL;
+- rfkill_free(rfk->rfkill);
+ rfk->rfkill = NULL;
+ }
+diff -up linux-2.6.23.noarch/drivers/net/wireless/libertas/if_sdio.c.orig linux-2.6.23.noarch/drivers/net/wireless/libertas/if_sdio.c
+--- linux-2.6.23.noarch/drivers/net/wireless/libertas/if_sdio.c.orig 2008-01-17 13:12:21.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/libertas/if_sdio.c 2008-01-17 13:21:40.000000000 -0500
+@@ -871,6 +871,10 @@ static int if_sdio_probe(struct sdio_fun
+ if (sscanf(func->card->info[i],
+ "ID: %x", &model) == 1)
+ break;
++ if (!strcmp(func->card->info[i], "IBIS Wireless SDIO Card")) {
++ model = 4;
++ break;
++ }
+ }
+
+ if (i == func->card->num_info) {
+diff -up linux-2.6.23.noarch/drivers/net/wireless/ipw2200.c.orig linux-2.6.23.noarch/drivers/net/wireless/ipw2200.c
+--- linux-2.6.23.noarch/drivers/net/wireless/ipw2200.c.orig 2008-01-17 13:12:21.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ipw2200.c 2008-01-17 13:21:40.000000000 -0500
+@@ -4935,7 +4935,7 @@ static int ipw_queue_reset(struct ipw_pr
+ /**
+ * Reclaim Tx queue entries no more used by NIC.
+ *
+- * When FW adwances 'R' index, all entries between old and
++ * When FW advances 'R' index, all entries between old and
+ * new 'R' index need to be reclaimed. As result, some free space
+ * forms. If there is enough free space (> low mark), wake Tx queue.
+ *
+diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig 2008-01-17 13:12:21.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c 2008-01-17 13:21:40.000000000 -0500
+@@ -245,13 +245,20 @@ static void rt2x00usb_interrupt_rxdone(s
+ * Allocate a new sk buffer to replace the current one.
+ * If allocation fails, we should drop the current frame
+ * so we can recycle the existing sk buffer for the new frame.
++ * As alignment we use 2 and not NET_IP_ALIGN because we need
++ * to be sure we have 2 bytes room in the head. (NET_IP_ALIGN
++ * can be 0 on some hardware). We use these 2 bytes for frame
++ * alignment later, we assume that the chance that
++ * header_size % 4 == 2 is bigger then header_size % 2 == 0
++ * and thus optimize alignment by reserving the 2 bytes in
++ * advance.
+ */
+ frame_size = entry->ring->data_size + entry->ring->desc_size;
+- skb = dev_alloc_skb(frame_size + NET_IP_ALIGN);
++ skb = dev_alloc_skb(frame_size + 2);
+ if (!skb)
+ goto skip_entry;
+
+- skb_reserve(skb, NET_IP_ALIGN);
++ skb_reserve(skb, 2);
+ skb_put(skb, frame_size);
+
+ /*
+diff -up linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c
+--- linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig 2008-01-17 13:12:21.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c 2008-01-17 13:21:40.000000000 -0500
+@@ -149,7 +149,7 @@ void rt2x00pci_rxdone(struct rt2x00_dev
+ * The data behind the ieee80211 header must be
+ * aligned on a 4 byte boundary.
+ */
+- align = NET_IP_ALIGN + (2 * (header_size % 4 == 0));
++ align = header_size % 4;
+
+ /*
+ * Allocate the sk_buffer, initialize it and copy
+diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_plx.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_plx.c
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_plx.c.orig 2007-10-09 16:31:38.000000000 -0400
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_plx.c 2008-01-17 13:21:40.000000000 -0500
+@@ -608,7 +608,7 @@ static void prism2_plx_remove(struct pci
+
+ MODULE_DEVICE_TABLE(pci, prism2_plx_id_table);
+
+-static struct pci_driver prism2_plx_drv_id = {
++static struct pci_driver prism2_plx_driver = {
+ .name = "hostap_plx",
+ .id_table = prism2_plx_id_table,
+ .probe = prism2_plx_probe,
+@@ -618,13 +618,13 @@ static struct pci_driver prism2_plx_drv_
+
+ static int __init init_prism2_plx(void)
{
-- rt2500usb_register_multiwrite(rt2x00dev, MAC_CSR2, &mac,
-+ rt2500usb_register_multiwrite(rt2x00dev, MAC_CSR2, mac,
- (3 * sizeof(__le16)));
+- return pci_register_driver(&prism2_plx_drv_id);
++ return pci_register_driver(&prism2_plx_driver);
}
+
+ static void __exit exit_prism2_plx(void)
+ {
+- pci_unregister_driver(&prism2_plx_drv_id);
++ pci_unregister_driver(&prism2_plx_driver);
+ }
+
+
More information about the fedora-extras-commits
mailing list