rpms/kernel/devel kernel.spec, 1.536, 1.537 linux-2.6-wireless-pending.patch, 1.38, 1.39 linux-2.6-wireless.patch, 1.29, 1.30
John W. Linville (linville)
fedora-extras-commits at redhat.com
Tue Mar 25 18:43:39 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6447
Modified Files:
kernel.spec linux-2.6-wireless-pending.patch
linux-2.6-wireless.patch
Log Message:
wireless fixes from 2008-03-24
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.536
retrieving revision 1.537
diff -u -r1.536 -r1.537
--- kernel.spec 25 Mar 2008 03:19:46 -0000 1.536
+++ kernel.spec 25 Mar 2008 18:42:30 -0000 1.537
@@ -1096,7 +1096,7 @@
ApplyPatch linux-2.6-ata-quirk.patch
# wireless patches headed for 2.6.25
-#ApplyPatch linux-2.6-wireless.patch
+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-fixups.patch
@@ -1751,6 +1751,17 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Thu Mar 25 2008 John W. Linville <linville at redhat.com>
+- wavelan_cs arm fix
+- arlan: fix warning when PROC_FS=n
+- rt2x00: Add id for Corega CG-WLUSB2GPX
+- b43: Fix DMA mapping leakage
+- b43: Remove irqs_disabled() sanity checks
+- iwlwifi: fix a typo in Kconfig message
+- MAINTAINERS: update iwlwifi git url
+- iwlwifi: fix __devexit_p points to __devexit functions
+- iwlwifi: mac start synchronization issue
+
* Mon Mar 24 2008 Roland McGrath <roland at redhat.com>
- utrace update
linux-2.6-wireless-pending.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.38 -r 1.39 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless-pending.patch,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- linux-2.6-wireless-pending.patch 24 Mar 2008 20:49:42 -0000 1.38
+++ linux-2.6-wireless-pending.patch 25 Mar 2008 18:42:30 -0000 1.39
@@ -1,6 +1,4214 @@
+commit 2cd41eac2a895b01bd0824ba098f78b870136be2
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Tue Mar 11 16:17:15 2008 -0700
+
+ iwlwifi: fix bug to show hidden APs during scan
+
+ Indirect scanning ('iwlist scan') should report information about
+ hidden APs. When an AP is hidden it does not respond to active scanning,
+ we thus have to use passive scanning to locate these APs.
+
+ This fixes http://bughost.org/bugzilla/show_bug.cgi?id=1499
+
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Tested-by: Bill Moss <bmoss at clemson.edu>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 3352880fca5d5564d0c9f23948b7e05d16519759
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date: Tue Mar 11 16:17:20 2008 -0700
+
+ iwlwifi: change rate number to a constant
+
+ This patch moves a number to an understandable define
+
+ Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c794c989cab1369ae9e667ed5b77e6f813f9e2b3
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date: Tue Mar 11 16:17:19 2008 -0700
+
+ iwlwifi: Fix endianity in debug print
+
+ This patch fix debug print out endianity issue for bitmap
+ Since u64 and le64 variables are casted to unsigned long long,
+ after patch 'wireless: correct warnings from using '%llx' for type 'u64'
+ also bitmaps need to be converted to native endianity
+
+ Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 42ff182a205f7a36771f54b93d8fa04a86aec166
+Author: Assaf Krauss <assaf.krauss at intel.com>
+Date: Tue Mar 11 16:17:18 2008 -0700
+
+ iwlwifi: Use eeprom form iwlcore
+
+ This patch puts in use eeprom from iwlcore module
+
+ Signed-off-by: Assaf Krauss <assaf.krauss at intel.com>
+ Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4707ca7feed461a8cbc3dd19cde5bc1451296f11
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Tue Mar 11 16:17:17 2008 -0700
+
+ iwlwifi: update copyright year
+
+ Also fix a copy and paste error in header of iwl-core.c. This file
+ is not dual licensed.
+
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8535c56523a1c999a381009ea794e47e04070432
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date: Tue Mar 11 16:17:16 2008 -0700
+
+ iwlwifi: Use sta_bcast_id variable instead of BROADCAST_ID constant
+
+ This patch removes iwlYYY_BROADCAST_ID from run time usage.
+ hw_setting.sta_bcast_id is used instead.
+
+ Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a968fa909c2a245ed4c4175de704fc184dbc6ba8
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Mon Mar 10 17:26:32 2008 +0100
+
+ ssb: Add SPROM/invariants support for PCMCIA devices
+
+ This adds support for reading/writing the SPROM invariants
+ for PCMCIA based devices.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bfc6c4d9238c3ee8324b35e0bf5a8ad565f2501a
+Author: Joe Perches <joe at perches.com>
+Date: Sun Mar 9 16:55:10 2008 -0700
+
+ include/net/ieee80211.h - remove duplicate include
+
+ Signed-off-by: Joe Perches <joe at perches.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit f6b32dc11fb7ac50baba66e0446f0d18a2b831e1
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Mon Mar 10 00:30:44 2008 +0100
+
+ rt2x00: Only strip preamble bit in rt2400pci
+
+ Only rt2400pci can have the preamble bit set in the PLCP value,
+ for all other drivers it should not be cleared since that will
+ conflict with the plcp values for OFDM rates.
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 17e0212fe66d07ffc2df8b034e35a12a187ffd19
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:49:21 2008 +0100
+
+ rt2x00: Release rt2x00 2.1.4
+
+ Version bump to 2.1.4
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 54e19697da963c5dd36f2827fe6936052854ccc8
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:49:04 2008 +0100
+
+ rt2x00: Fix rt2400pci signal
+
+ After sampling hundreds of RX frame descriptors,
+ the results were conclusive:
+ - The Ralink documentation regarding the SIGNAL and RSSI are wrong.
+
+ It turns out that of the 5 BBR registers, we should not use BBR0 and BBR1
+ for SIGNAL and RSSI respectively, but actually BBR1 and BBR2.
+ BBR0 does show values, but the exact meaning remains unclear,
+ but they cannot be translated into a SIGNAL or RSSI field.
+ BBR3, BBR4 and BBR5 are always 0, so their meaning is unknown.
+
+ As it turns out, the reported SIGNAL is the PLCP value, this
+ in contradiction to what was expected looking at rt2500pci which
+ only reported the PLCP values for OFDM rates and bitrate values
+ for CCK rates.
+
+ This means we should let the driver raise the flag about the contents
+ of the SIGNAL field so rt2x00lib can always do the right thing based
+ on what the driver reports.
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d187f182a14f4d0b36f3595c416127e6a2290884
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:48:46 2008 +0100
+
+ rt2x00: Fix RX DMA ring initialization
+
+ Due to a terrible typo the RX DMA base address
+ was initialized to the beacon base address.
+ Obviously bad things happen with bugs like that....
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8d4e8648eb868e2c37797060953c4e3fbdc2d7bf
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:48:08 2008 +0100
+
+ rt2x00: Fix basic rate initialization
+
+ The basic rate which is configured in the register
+ should not match all supported rates, but only the _basic_ rates.
+
+ Fix this by adding a new flag to the rt2x00_rate structure
+ and whenever the mode is changed, loop over all available rates
+ for that band to get the basic rate mask.
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2119e258add7af90c15bb9370f0b7d634aafb50e
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Sun Mar 9 22:47:43 2008 +0100
+
+ rt2x00: Always enable TSF ticking
+
+ Whatever mode we are in, according to the legacy drivers
+ we should always enable TSF ticking/counting.
+ We should also always enable the TBCN/TBTT field,
[...6786 lines suppressed...]
struct ieee80211_conf *conf)
{
@@ -73403,8 +77611,8 @@
/* While philips SA2400 drive the PA bias from
diff -up linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.24.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-03-25 13:10:14.000000000 -0400
@@ -48,6 +48,32 @@ static struct pci_device_id adm8211_pci_
{ 0 }
};
@@ -73574,8 +77782,8 @@
err = ieee80211_register_hw(dev);
if (err) {
diff -up linux-2.6.24.noarch/drivers/ssb/Makefile.orig linux-2.6.24.noarch/drivers/ssb/Makefile
---- linux-2.6.24.noarch/drivers/ssb/Makefile.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Makefile 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Makefile.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Makefile 2008-03-25 13:10:14.000000000 -0400
@@ -1,6 +1,7 @@
# core
ssb-y += main.o scan.o
@@ -73593,8 +77801,8 @@
# b43 pci-ssb-bridge driver
# Not strictly a part of SSB, but kept here for convenience
diff -up linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.24.noarch/drivers/ssb/pcmcia.c
---- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-03-25 13:10:14.000000000 -0400
@@ -3,7 +3,7 @@
* PCMCIA-Hostbus related functions
*
@@ -74267,8 +78475,8 @@
+ return err;
}
diff -up linux-2.6.24.noarch/drivers/ssb/main.c.orig linux-2.6.24.noarch/drivers/ssb/main.c
---- linux-2.6.24.noarch/drivers/ssb/main.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-03-25 13:10:14.000000000 -0400
@@ -14,6 +14,7 @@
#include <linux/io.h>
#include <linux/ssb/ssb.h>
@@ -74406,8 +78614,8 @@
bus_unregister(&ssb_bustype);
}
diff -up linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c
---- linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c.orig 2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_mipscore.c 2008-03-25 13:10:14.000000000 -0400
@@ -209,6 +209,7 @@ void ssb_mipscore_init(struct ssb_mipsco
/* fallthrough */
case SSB_DEV_PCI:
@@ -74417,8 +78625,8 @@
case SSB_DEV_USB20_HOST:
/* These devices get their own IRQ line if available, the rest goes on IRQ0 */
diff -up linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig linux-2.6.24.noarch/drivers/ssb/ssb_private.h
---- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h 2008-03-25 13:10:14.000000000 -0400
@@ -81,6 +81,7 @@ extern int ssb_pcmcia_switch_segment(str
u8 seg);
extern int ssb_pcmcia_get_invariants(struct ssb_bus *bus,
@@ -74465,8 +78673,8 @@
/* b43_pci_bridge.c */
#ifdef CONFIG_SSB_B43_PCI_BRIDGE
diff -up /dev/null linux-2.6.24.noarch/drivers/ssb/driver_gige.c
---- /dev/null 2008-03-24 08:05:25.710634313 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_gige.c 2008-03-24 16:43:58.000000000 -0400
+--- /dev/null 2008-03-25 08:11:28.199319816 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_gige.c 2008-03-25 13:10:14.000000000 -0400
@@ -0,0 +1,294 @@
+/*
+ * Sonics Silicon Backplane
@@ -74763,8 +78971,8 @@
+ return ssb_driver_register(&ssb_gige_driver);
+}
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-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-03-25 13:10:14.000000000 -0400
@@ -227,7 +227,7 @@ static u8 ssb_sprom_crc(const u16 *sprom
return crc;
}
@@ -74981,8 +79189,8 @@
if (err)
goto out;
diff -up linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c
---- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c 2008-03-25 13:10:14.000000000 -0400
@@ -353,6 +353,16 @@ void ssb_chipco_watchdog_timer_set(struc
chipco_write32(cc, SSB_CHIPCO_WATCHDOG, ticks);
}
@@ -75001,8 +79209,8 @@
{
return chipco_read32(cc, SSB_CHIPCO_GPIOIN) & mask;
diff -up linux-2.6.24.noarch/drivers/ssb/Kconfig.orig linux-2.6.24.noarch/drivers/ssb/Kconfig
---- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/Kconfig 2008-03-25 13:10:14.000000000 -0400
@@ -20,6 +20,10 @@ config SSB
If unsure, say N.
@@ -75045,8 +79253,8 @@
+
endmenu
diff -up linux-2.6.24.noarch/drivers/ssb/embedded.c.orig linux-2.6.24.noarch/drivers/ssb/embedded.c
---- linux-2.6.24.noarch/drivers/ssb/embedded.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/embedded.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/embedded.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/embedded.c 2008-03-25 13:10:14.000000000 -0400
@@ -10,6 +10,9 @@
#include <linux/ssb/ssb.h>
@@ -75149,8 +79357,8 @@
+ return -ENODEV;
+}
diff -up linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c
---- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig 2008-03-24 16:35:44.000000000 -0400
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c 2008-03-25 13:10:14.000000000 -0400
@@ -60,77 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
/* Core to access the external PCI config space. Can only have one. */
static struct ssb_pcicore *extpci_core;
@@ -75326,8 +79534,8 @@
{
u32 val;
diff -up /dev/null linux-2.6.24.noarch/drivers/ssb/sprom.c
---- /dev/null 2008-03-24 08:05:25.710634313 -0400
-+++ linux-2.6.24.noarch/drivers/ssb/sprom.c 2008-03-24 16:43:58.000000000 -0400
+--- /dev/null 2008-03-25 08:11:28.199319816 -0400
++++ linux-2.6.24.noarch/drivers/ssb/sprom.c 2008-03-25 13:10:14.000000000 -0400
@@ -0,0 +1,133 @@
+/*
+ * Sonics Silicon Backplane
@@ -75463,8 +79671,8 @@
+ return err ? err : count;
+}
diff -up linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt.orig linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt
---- linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt.orig 2008-03-24 16:35:35.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/laptops/acer-wmi.txt 2008-03-25 13:10:14.000000000 -0400
@@ -80,7 +80,7 @@ once you enable the radio, will depend o
e.g. With the BCM4318 on the Acer Aspire 5020 series:
@@ -75475,8 +79683,8 @@
Wireless radio control is unconditionally enabled - all Acer laptops that support
acer-wmi come with built-in wireless. However, should you feel so inclined to
diff -up linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt.orig linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt
---- linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt.orig 2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/Documentation/networking/bcm43xx.txt 2008-03-25 13:10:14.000000000 -0400
@@ -1,89 +0,0 @@
-
- BCM43xx Linux Driver Project
@@ -75568,8 +79776,8 @@
-and CONFIG_IEEE80211_SOFTMAC_DEBUG. The log information provided is
-essential for solving any problems.
diff -up /dev/null linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl
---- /dev/null 2008-03-24 08:05:25.710634313 -0400
-+++ linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl 2008-03-24 16:43:58.000000000 -0400
+--- /dev/null 2008-03-25 08:11:28.199319816 -0400
++++ linux-2.6.24.noarch/Documentation/DocBook/mac80211.tmpl 2008-03-25 13:10:14.000000000 -0400
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
@@ -75907,8 +80115,8 @@
+ </part>
+</book>
diff -up linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig linux-2.6.24.noarch/Documentation/DocBook/Makefile
---- linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/DocBook/Makefile 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/DocBook/Makefile.orig 2008-03-25 13:06:07.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/DocBook/Makefile 2008-03-25 13:10:14.000000000 -0400
@@ -11,7 +11,8 @@ DOCBOOKS := wanbook.xml z8530book.xml mc
procfs-guide.xml writing_usb_driver.xml networking.xml \
kernel-api.xml filesystems.xml lsm.xml usb.xml \
@@ -75920,8 +80128,8 @@
###
# The build process is as follows (targets):
diff -up linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt
---- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig 2008-03-24 16:43:26.000000000 -0400
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt 2008-03-24 16:43:58.000000000 -0400
+--- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig 2008-03-24 16:35:48.000000000 -0400
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt 2008-03-25 13:10:14.000000000 -0400
@@ -230,33 +230,6 @@ Who: Jean Delvare <khali at linux-fr.org>
---------------------------
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.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- linux-2.6-wireless.patch 14 Mar 2008 21:25:59 -0000 1.29
+++ linux-2.6-wireless.patch 25 Mar 2008 18:42:30 -0000 1.30
@@ -1,518 +1,408 @@
-commit 1682fe6de206bd1e937529cbb393915e5ea40b2c
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date: Thu Mar 13 15:38:03 2008 +0100
-
- rt2x00: Add suspend/resume handlers to rt2x00rfkill
-
- Add suspend/resume handlers to rt2x00rfkill to have it stop
- the input-polldev and prevent it from calling rt2x00 during
- suspend period. This could lead to a NULL pointer fault when
- rt2x00 suspended, but polldev send a request, because
- the csr_addr is NULL.
-
- Also don't let the rfkill allocation/registration block
- the initialization of the entire device. Just print a warning
- and continue as if nothing happened.
+commit 50b48c24c78024e267356b1881bc169556be6184
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sun Mar 23 01:08:22 2008 +0100
+
+ b43: Remove irqs_disabled() sanity checks
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Remove all irqs_disabled() sanity checks, as they are not safe on
+ a RT-enabled kernel and will trigger bogus warnings.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit f50e4a8494a74bdbc0f86f1430a4cca2a4f28799
-Author: Pavel Roskin <proski at gnu.org>
-Date: Wed Mar 12 16:13:31 2008 -0400
+commit d62146743a31e6c327249bba2b1422cff4d7a50b
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sat Mar 22 22:04:45 2008 +0100
- ath5k: disable irq handling in ath5k_hw_detach()
+ b43: Fix DMA mapping leakage
- Once ah has been freed, it may not be accessed. Set ATH_STAT_INVALID
- bit to make the interrupt handler return IRQ_NONE without accessing ah.
+ This fixes a DMA mapping leakage in the case where we reject a DMA
+ buffer because of its address.
- This fixes oops on unload with CONFIG_DEBUG_SHIRQ enabled.
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Cc: Christian Casteyde <casteyde.christian at free.fr>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e7d51b8c7b0fc99482ce16616f23ee3ebbc43dff
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Fri Mar 21 13:53:41 2008 -0700
+
+ iwlwifi: fix __devexit_p points to __devexit functions
+
+ The iwlxxxx_pci_remove functions are not needed when drivers are not
+ compiled as modules - they can thus be discarded at kernel link time.
+ This is already captured by having them as __devexit_p in the pci_driver
+ struct - these are supposed to be pointers to __devexit functions, but was not.
+ This is now fixed.
+
+ This problem was reported by Toralf Forster when testing the compilation of
+ 2.6.25-rc6.
+
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ CC: Toralf Forster <toralf.foerster at gmx.de>
+ Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e0bdc6ae87e39d5dd922f294fa2f20219e51fe8c
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date: Fri Mar 21 13:53:40 2008 -0700
+
+ MAINTAINERS: update iwlwifi git url
- Signed-off-by: Pavel Roskin <proski at gnu.org>
- Acked-by: Nick Kossifidis <mickflemm at gmail.com>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 5abdc49d6e521126ed4c15e913a5c30f6dd95e6b
-Author: Harvey Harrison <harvey.harrison at gmail.com>
-Date: Wed Mar 12 17:51:04 2008 +0100
+commit 2bccacf8154922830950089a04aa979f98bd400a
+Author: John W. Linville <linville at tuxdriver.com>
+Date: Thu Mar 20 16:19:04 2008 -0400
- b43: phy.c fix typo in register write
+ arlan: fix warning when PROC_FS=n
- Commit 61bca6eb85c863603d6054530e2f65c3b9aba85b b43: rewrite A PHY initialization
- has a typo, the result of the register read should be masked, not the
- register offset.
+ drivers/net/wireless/arlan-proc.c:1216: warning: 'arlan_root_table' defined but not used
- Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
- Signed-off-by: Michael Buesch <mb at bu3sch.de>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit c1e889be18aff97e20853231531b79d79a984369
-Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
-Date: Wed Mar 12 16:41:11 2008 +0900
+commit fc0f0df940608fd40424f46f2002253dec39146d
+Author: Rick Farrington <rickdic at hotmail.com>
+Date: Tue Mar 18 14:57:49 2008 -0700
+
+ iwlwifi: mac start synchronization issue
+
+ This patch fixes a synchronization problem on the 4965 and 3945 with the
+ mac start callback routine. The problem is that this function exits BEFORE the
+ 'xxx_alive_start' has completed. This can lead to a problem if a
+ subsequent MAC callback attempts to issue a firmware command.
+
+ Signed-off-by: Rick Farrington <rickdic at hotmail.com>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a0c2e030b91b75e469a1d983de4fbb6497efccc3
+Author: Al Viro <viro at ftp.linux.org.uk>
+Date: Sun Mar 16 22:43:06 2008 +0000
- PS3: gelic: change the prefix of the net interface for wireless
+ wavelan_cs arm fix
- The gelic driver uses two net interfaces, one for ethernet and the
- other for wireless. They share same MAC address and use 'eth' prefix
- for the name.
- As udev uses the MAC address to check uniqueness, this is
- somewhat problematic. So change the prefix of the network interface
- name for the wireless so that udev can have an easy way to distinguish
- interfaces.
+ Even when all fields are unsigned char, struct still might have
+ alignment > 1. Does so on arm, unless you explicitly say that
+ it's packed...
- Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+ Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit aad4c7d3a641315519add159a80f73cce554e7cd
+commit a4eac923319deb80bc9f4d70cc2ed5e014df597d
Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
-Date: Tue Mar 11 13:15:44 2008 +0900
+Date: Sat Mar 15 21:38:29 2008 +0100
- PS3: gelic: ignore scan info from zero SSID beacons
-
- Some implementations of the hidden SSID APs emit beacons which have the zero
- length SSID information element instead of SSID padded by null (\0) characters.
- If the firmware of the PS3 wireless hardware meets these beacons, it abandons parsing
- IEs. Thus guest OSes get the invalid scan information for the AP.
+ rt2x00: Add id for Corega CG-WLUSB2GPX
- To work around this, ignore these scan informations from the list.
+ This adds the id for Corega CG-WLUSB2GPX.
Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 43557e15c22701f0b94e5f14a874fe02e814574e
-Author: Jan Slupski <jslupski at juljas.net>
-Date: Mon Mar 10 22:41:18 2008 -0700
-
- prism54: support for 124a:4025 - another version of IOGear GWU513 802.11g
-
- Add support to p54usb driver for apparently another version of IOGear GWU513
- 802.11g USB network card that uses GW3887IK chipset and is recognized as
- "124a:4025 AirVast" by lsusb.
+commit 91bf0cf8540d7aa7b65a20db05015f49d2bb92d3
+Author: Pascal Terjan <pterjan at mandriva.com>
+Date: Thu Mar 13 19:13:24 2008 +0100
+
+ iwlwifi: fix a typo in Kconfig message
- Cc: Michael Wu <flamingice at sourmilk.net>
- Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+ Signed-off-by: Pascal Terjan <pterjan at mandriva.com>
+ Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-diff -up linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c.orig linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c
---- linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c.orig 2008-03-14 13:27:22.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c 2008-03-14 15:03:38.000000000 -0400
-@@ -1644,13 +1644,24 @@ static void gelic_wl_scan_complete_event
- }
-
- /* put them in the newtork_list */
-- scan_info = wl->buf;
-- scan_info_size = 0;
-- i = 0;
-- while (scan_info_size < data_len) {
-+ for (i = 0, scan_info_size = 0, scan_info = wl->buf;
-+ scan_info_size < data_len;
-+ i++, scan_info_size += be16_to_cpu(scan_info->size),
-+ scan_info = (void *)scan_info + be16_to_cpu(scan_info->size)) {
- pr_debug("%s:size=%d bssid=%s scan_info=%p\n", __func__,
- be16_to_cpu(scan_info->size),
- print_mac(mac, &scan_info->bssid[2]), scan_info);
-+
-+ /*
-+ * The wireless firmware may return invalid channel 0 and/or
-+ * invalid rate if the AP emits zero length SSID ie. As this
-+ * scan information is useless, ignore it
-+ */
-+ if (!be16_to_cpu(scan_info->channel) || !scan_info->rate[0]) {
-+ pr_debug("%s: invalid scan info\n", __func__);
-+ continue;
-+ }
-+
- found = 0;
- oldest = NULL;
- list_for_each_entry(target, &wl->network_list, list) {
-@@ -1687,10 +1698,6 @@ static void gelic_wl_scan_complete_event
- GFP_KERNEL);
- if (!target->hwinfo) {
- pr_info("%s: kzalloc failed\n", __func__);
-- i++;
-- scan_info_size += be16_to_cpu(scan_info->size);
-- scan_info = (void *)scan_info +
-- be16_to_cpu(scan_info->size);
- continue;
- }
- /* copy hw scan info */
-@@ -1709,10 +1716,6 @@ static void gelic_wl_scan_complete_event
- if (scan_info->ext_rate[r])
- target->rate_ext_len++;
- list_move_tail(&target->list, &wl->network_list);
-- /* bump pointer */
-- i++;
-- scan_info_size += be16_to_cpu(scan_info->size);
-- scan_info = (void *)scan_info + be16_to_cpu(scan_info->size);
- }
- memset(&data, 0, sizeof(data));
- wireless_send_event(port_to_netdev(wl_port(wl)), SIOCGIWSCAN, &data,
-@@ -2389,6 +2392,8 @@ static struct net_device *gelic_wl_alloc
- if (!netdev)
- return NULL;
-
-+ strcpy(netdev->name, "wlan%d");
-+
- port = netdev_priv(netdev);
- port->netdev = netdev;
- port->card = card;
-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-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/phy.c 2008-03-14 15:03:38.000000000 -0400
-@@ -860,7 +860,7 @@ static void b43_phy_ww(struct b43_wldev
- b43_phy_write(dev, B43_PHY_OFDM(0xBB),
- (b43_phy_read(dev, B43_PHY_OFDM(0xBB)) & 0xF000) | 0x0053);
- b43_phy_write(dev, B43_PHY_OFDM61,
-- (b43_phy_read(dev, B43_PHY_OFDM61 & 0xFE1F)) | 0x0120);
-+ (b43_phy_read(dev, B43_PHY_OFDM61) & 0xFE1F) | 0x0120);
- b43_phy_write(dev, B43_PHY_OFDM(0x13),
- (b43_phy_read(dev, B43_PHY_OFDM(0x13)) & 0x0FFF) | 0x3000);
- b43_phy_write(dev, B43_PHY_OFDM(0x14),
-diff -up linux-2.6.24.noarch/drivers/net/wireless/p54usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/p54usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/p54usb.c.orig 2008-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54usb.c 2008-03-14 15:03:38.000000000 -0400
-@@ -63,6 +63,7 @@ static struct usb_device_id p54u_table[]
- {USB_DEVICE(0x0cde, 0x0008)}, /* Sagem XG703A */
- {USB_DEVICE(0x0d8e, 0x3762)}, /* DLink DWL-G120 Cohiba */
- {USB_DEVICE(0x09aa, 0x1000)}, /* Spinnaker Proto board */
-+ {USB_DEVICE(0x124a, 0x4025)}, /* IOGear GWU513 (GW3887IK chip) */
- {USB_DEVICE(0x13b1, 0x000a)}, /* Linksys WUSB54G ver 2 */
- {USB_DEVICE(0x13B1, 0x000C)}, /* Linksys WUSB54AG */
- {USB_DEVICE(0x1435, 0x0427)}, /* Inventel UR054G */
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig 2008-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h 2008-03-14 15:03:38.000000000 -0400
-@@ -620,6 +620,9 @@ struct rt2x00_dev {
- * This will only be compiled in when required.
- */
- #ifdef CONFIG_RT2X00_LIB_RFKILL
-+unsigned long rfkill_state;
-+#define RFKILL_STATE_ALLOCATED 1
-+#define RFKILL_STATE_REGISTERED 2
- struct rfkill *rfkill;
- struct input_polled_dev *poll_dev;
- #endif /* CONFIG_RT2X00_LIB_RFKILL */
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig 2008-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c 2008-03-14 15:03:38.000000000 -0400
-@@ -1098,7 +1098,7 @@ static void rt2x00lib_uninitialize(struc
- return;
-
- /*
-- * Unregister rfkill.
-+ * Unregister extra components.
- */
- rt2x00rfkill_unregister(rt2x00dev);
-
-@@ -1139,11 +1139,9 @@ static int rt2x00lib_initialize(struct r
- __set_bit(DEVICE_INITIALIZED, &rt2x00dev->flags);
-
- /*
-- * Register the rfkill handler.
-+ * Register the extra components.
- */
-- status = rt2x00rfkill_register(rt2x00dev);
-- if (status)
-- goto exit_unitialize;
-+ rt2x00rfkill_register(rt2x00dev);
-
- return 0;
-
-@@ -1313,15 +1311,9 @@ int rt2x00lib_probe_dev(struct rt2x00_de
- }
-
- /*
-- * Allocatie rfkill.
-- */
-- retval = rt2x00rfkill_allocate(rt2x00dev);
-- if (retval)
-- goto exit;
--
-- /*
-- * Open the debugfs entry.
-+ * Register extra components.
- */
-+ rt2x00rfkill_allocate(rt2x00dev);
- rt2x00debug_register(rt2x00dev);
-
- __set_bit(DEVICE_PRESENT, &rt2x00dev->flags);
-@@ -1350,13 +1342,9 @@ void rt2x00lib_remove_dev(struct rt2x00_
- rt2x00lib_uninitialize(rt2x00dev);
-
- /*
-- * Close debugfs entry.
-+ * Free extra components
- */
- rt2x00debug_deregister(rt2x00dev);
--
-- /*
-- * Free rfkill
-- */
- rt2x00rfkill_free(rt2x00dev);
-
- /*
-@@ -1395,11 +1383,15 @@ int rt2x00lib_suspend(struct rt2x00_dev
- __set_bit(DEVICE_STARTED_SUSPEND, &rt2x00dev->flags);
-
- /*
-- * Disable radio and unitialize all items
-- * that must be recreated on resume.
-+ * Disable radio.
- */
- rt2x00lib_stop(rt2x00dev);
- rt2x00lib_uninitialize(rt2x00dev);
-+
-+ /*
-+ * Suspend/disable extra components.
-+ */
-+ rt2x00rfkill_suspend(rt2x00dev);
- rt2x00debug_deregister(rt2x00dev);
-
- exit:
-@@ -1422,9 +1414,10 @@ int rt2x00lib_resume(struct rt2x00_dev *
- NOTICE(rt2x00dev, "Waking up.\n");
-
- /*
-- * Open the debugfs entry.
-+ * Restore/enable extra components.
- */
- rt2x00debug_register(rt2x00dev);
-+ rt2x00rfkill_resume(rt2x00dev);
-
- /*
- * Only continue if mac80211 had open interfaces.
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h.orig 2008-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h 2008-03-14 15:03:38.000000000 -0400
-@@ -100,28 +100,36 @@ static inline void rt2x00debug_dump_fram
- * RFkill handlers.
- */
- #ifdef CONFIG_RT2X00_LIB_RFKILL
--int rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev);
-+void rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev);
- void rt2x00rfkill_unregister(struct rt2x00_dev *rt2x00dev);
--int rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev);
-+void rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev);
- void rt2x00rfkill_free(struct rt2x00_dev *rt2x00dev);
-+void rt2x00rfkill_suspend(struct rt2x00_dev *rt2x00dev);
-+void rt2x00rfkill_resume(struct rt2x00_dev *rt2x00dev);
- #else
--static inline int rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev)
-+static inline void rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev)
+diff -up linux-2.6.24.noarch/MAINTAINERS.orig linux-2.6.24.noarch/MAINTAINERS
+--- linux-2.6.24.noarch/MAINTAINERS.orig 2008-03-24 16:35:48.000000000 -0400
++++ linux-2.6.24.noarch/MAINTAINERS 2008-03-25 12:57:56.000000000 -0400
+@@ -2110,7 +2110,7 @@ M: reinette.chatre at intel.com
+ L: linux-wireless at vger.kernel.org
+ L: ipw3945-devel at lists.sourceforge.net
+ W: http://intellinuxwireless.org
+-T: git git://intellinuxwireless.org/repos/iwlwifi
++T: git git://git.kernel.org/pub/scm/linux/kernel/git/rchatre/iwlwifi-2.6.git
+ S: Supported
+
+ IOC3 ETHERNET DRIVER
+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-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.c 2008-03-25 12:57:57.000000000 -0400
+@@ -2049,7 +2049,6 @@ void b43_mac_enable(struct b43_wldev *de
{
-- return 0;
+ dev->mac_suspended--;
+ B43_WARN_ON(dev->mac_suspended < 0);
+- B43_WARN_ON(irqs_disabled());
+ if (dev->mac_suspended == 0) {
+ b43_write32(dev, B43_MMIO_MACCTL,
+ b43_read32(dev, B43_MMIO_MACCTL)
+@@ -2075,7 +2074,6 @@ void b43_mac_suspend(struct b43_wldev *d
+ u32 tmp;
+
+ might_sleep();
+- B43_WARN_ON(irqs_disabled());
+ B43_WARN_ON(dev->mac_suspended < 0);
+
+ if (dev->mac_suspended == 0) {
+diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/debugfs.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/debugfs.c
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/debugfs.c.orig 2008-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/debugfs.c 2008-03-25 12:57:57.000000000 -0400
+@@ -618,6 +618,7 @@ void b43_debugfs_remove_device(struct b4
+ kfree(e);
}
- static inline void rt2x00rfkill_unregister(struct rt2x00_dev *rt2x00dev)
++/* Called with IRQs disabled. */
+ void b43_debugfs_log_txstat(struct b43_wldev *dev,
+ const struct b43_txstatus *status)
{
- }
-
--static inline int rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev)
-+static inline void rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev)
+@@ -629,8 +630,7 @@ void b43_debugfs_log_txstat(struct b43_w
+ if (!e)
+ return;
+ log = &e->txstatlog;
+- B43_WARN_ON(!irqs_disabled());
+- spin_lock(&log->lock);
++ spin_lock(&log->lock); /* IRQs are already disabled. */
+ i = log->end + 1;
+ if (i == B43_NR_LOGGED_TXSTATUS)
+ i = 0;
+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-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/dma.c 2008-03-25 12:57:57.000000000 -0400
+@@ -560,7 +560,7 @@ static int b43_dmacontroller_tx_reset(st
+ /* Check if a DMA mapping address is invalid. */
+ static bool b43_dma_mapping_error(struct b43_dmaring *ring,
+ dma_addr_t addr,
+- size_t buffersize)
++ size_t buffersize, bool dma_to_device)
{
-- return 0;
- }
+ if (unlikely(dma_mapping_error(addr)))
+ return 1;
+@@ -568,11 +568,11 @@ static bool b43_dma_mapping_error(struct
+ switch (ring->type) {
+ case B43_DMA_30BIT:
+ if ((u64)addr + buffersize > (1ULL << 30))
+- return 1;
++ goto address_error;
+ break;
+ case B43_DMA_32BIT:
+ if ((u64)addr + buffersize > (1ULL << 32))
+- return 1;
++ goto address_error;
+ break;
+ case B43_DMA_64BIT:
+ /* Currently we can't have addresses beyond
+@@ -582,6 +582,12 @@ static bool b43_dma_mapping_error(struct
- static inline void rt2x00rfkill_free(struct rt2x00_dev *rt2x00dev)
- {
- }
+ /* The address is OK. */
+ return 0;
+
-+static inline void rt2x00rfkill_suspend(struct rt2x00_dev *rt2x00dev)
-+{
-+}
++address_error:
++ /* We can't support this address. Unmap it again. */
++ unmap_descbuffer(ring, addr, buffersize, dma_to_device);
+
-+static inline void rt2x00rfkill_resume(struct rt2x00_dev *rt2x00dev)
-+{
-+}
- #endif /* CONFIG_RT2X00_LIB_RFKILL */
-
- #endif /* RT2X00LIB_H */
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c.orig 2008-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c 2008-03-14 15:03:38.000000000 -0400
-@@ -69,56 +69,81 @@ static void rt2x00rfkill_poll(struct inp
- }
++ return 1;
}
--int rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev)
-+void rt2x00rfkill_register(struct rt2x00_dev *rt2x00dev)
- {
-- int retval;
--
-- if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags))
-- return 0;
-+ if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags) ||
-+ !test_bit(RFKILL_STATE_ALLOCATED, &rt2x00dev->rfkill_state))
-+ return;
-
-- retval = rfkill_register(rt2x00dev->rfkill);
-- if (retval) {
-+ if (rfkill_register(rt2x00dev->rfkill)) {
- ERROR(rt2x00dev, "Failed to register rfkill handler.\n");
-- return retval;
-+ return;
+ static int setup_rx_descbuffer(struct b43_dmaring *ring,
+@@ -599,7 +605,7 @@ static int setup_rx_descbuffer(struct b4
+ if (unlikely(!skb))
+ return -ENOMEM;
+ dmaaddr = map_descbuffer(ring, skb->data, ring->rx_buffersize, 0);
+- if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize)) {
++ if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
+ /* ugh. try to realloc in zone_dma */
+ gfp_flags |= GFP_DMA;
+
+@@ -612,7 +618,7 @@ static int setup_rx_descbuffer(struct b4
+ ring->rx_buffersize, 0);
}
-- retval = input_register_polled_device(rt2x00dev->poll_dev);
-- if (retval) {
-+ if (input_register_polled_device(rt2x00dev->poll_dev)) {
- ERROR(rt2x00dev, "Failed to register polled device.\n");
- rfkill_unregister(rt2x00dev->rfkill);
-- return retval;
-+ return;
+- if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize)) {
++ if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) {
+ dev_kfree_skb_any(skb);
+ return -EIO;
}
+@@ -852,7 +858,8 @@ struct b43_dmaring *b43_setup_dmaring(st
+ b43_txhdr_size(dev),
+ DMA_TO_DEVICE);
+
+- if (b43_dma_mapping_error(ring, dma_test, b43_txhdr_size(dev))) {
++ if (b43_dma_mapping_error(ring, dma_test,
++ b43_txhdr_size(dev), 1)) {
+ /* ugh realloc */
+ kfree(ring->txhdr_cache);
+ ring->txhdr_cache = kcalloc(nr_slots,
+@@ -867,7 +874,7 @@ struct b43_dmaring *b43_setup_dmaring(st
+ DMA_TO_DEVICE);
+
+ if (b43_dma_mapping_error(ring, dma_test,
+- b43_txhdr_size(dev)))
++ b43_txhdr_size(dev), 1))
+ goto err_kfree_txhdr_cache;
+ }
-+ __set_bit(RFKILL_STATE_REGISTERED, &rt2x00dev->rfkill_state);
-+
- /*
- * Force initial poll which will detect the initial device state,
- * and correctly sends the signal to the rfkill layer about this
- * state.
- */
- rt2x00rfkill_poll(rt2x00dev->poll_dev);
--
-- return 0;
+@@ -1189,7 +1196,7 @@ static int dma_tx_fragment(struct b43_dm
+
+ meta_hdr->dmaaddr = map_descbuffer(ring, (unsigned char *)header,
+ hdrsize, 1);
+- if (b43_dma_mapping_error(ring, meta_hdr->dmaaddr, hdrsize)) {
++ if (b43_dma_mapping_error(ring, meta_hdr->dmaaddr, hdrsize, 1)) {
+ ring->current_slot = old_top_slot;
+ ring->used_slots = old_used_slots;
+ return -EIO;
+@@ -1208,7 +1215,7 @@ static int dma_tx_fragment(struct b43_dm
+
+ meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1);
+ /* create a bounce buffer in zone_dma on mapping failure. */
+- if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len)) {
++ if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) {
+ bounce_skb = __dev_alloc_skb(skb->len, GFP_ATOMIC | GFP_DMA);
+ if (!bounce_skb) {
+ ring->current_slot = old_top_slot;
+@@ -1222,7 +1229,7 @@ static int dma_tx_fragment(struct b43_dm
+ skb = bounce_skb;
+ meta->skb = skb;
+ meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1);
+- if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len)) {
++ if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) {
+ ring->current_slot = old_top_slot;
+ ring->used_slots = old_used_slots;
+ err = -EIO;
+@@ -1337,6 +1344,7 @@ out_unlock:
+ return err;
}
- void rt2x00rfkill_unregister(struct rt2x00_dev *rt2x00dev)
++/* Called with IRQs disabled. */
+ void b43_dma_handle_txstatus(struct b43_wldev *dev,
+ const struct b43_txstatus *status)
{
-- if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags))
-+ if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags) ||
-+ !test_bit(RFKILL_STATE_REGISTERED, &rt2x00dev->rfkill_state))
+@@ -1349,8 +1357,8 @@ void b43_dma_handle_txstatus(struct b43_
+ ring = parse_cookie(dev, status->cookie, &slot);
+ if (unlikely(!ring))
return;
-
- input_unregister_polled_device(rt2x00dev->poll_dev);
- rfkill_unregister(rt2x00dev->rfkill);
+- B43_WARN_ON(!irqs_disabled());
+- spin_lock(&ring->lock);
+
-+ __clear_bit(RFKILL_STATE_REGISTERED, &rt2x00dev->rfkill_state);
- }
++ spin_lock(&ring->lock); /* IRQs are already disabled. */
--int rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev)
-+static struct input_polled_dev *
-+rt2x00rfkill_allocate_polldev(struct rt2x00_dev *rt2x00dev)
- {
-- struct device *device = wiphy_dev(rt2x00dev->hw->wiphy);
-+ struct input_polled_dev *poll_dev;
+ B43_WARN_ON(!ring->tx);
+ ops = ring->ops;
+diff -up linux-2.6.24.noarch/drivers/net/wireless/wavelan_cs.h.orig linux-2.6.24.noarch/drivers/net/wireless/wavelan_cs.h
+--- linux-2.6.24.noarch/drivers/net/wireless/wavelan_cs.h.orig 2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/wavelan_cs.h 2008-03-25 12:57:57.000000000 -0400
+@@ -309,7 +309,7 @@ struct mmw_t
+ #define MMW_EXT_ANT_INTERNAL 0x00 /* Internal antenna */
+ #define MMW_EXT_ANT_EXTERNAL 0x03 /* External antenna */
+ #define MMW_EXT_ANT_IQ_TEST 0x1C /* IQ test pattern (set to 0) */
+-};
++} __attribute__((packed));
+
+ /* Size for structure checking (if padding is correct) */
+ #define MMW_SIZE 37
+diff -up linux-2.6.24.noarch/drivers/net/wireless/arlan-proc.c.orig linux-2.6.24.noarch/drivers/net/wireless/arlan-proc.c
+--- linux-2.6.24.noarch/drivers/net/wireless/arlan-proc.c.orig 2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/arlan-proc.c 2008-03-25 12:57:56.000000000 -0400
+@@ -1202,13 +1202,6 @@ static ctl_table arlan_table[MAX_ARLANS
+ { .ctl_name = 0 }
+ };
+ #endif
+-#else
+-
+-static ctl_table arlan_table[MAX_ARLANS + 1] =
+-{
+- { .ctl_name = 0 }
+-};
+-#endif
-+ poll_dev = input_allocate_polled_device();
-+ if (!poll_dev)
-+ return NULL;
-+
-+ poll_dev->private = rt2x00dev;
-+ poll_dev->poll = rt2x00rfkill_poll;
-+ poll_dev->poll_interval = RFKILL_POLL_INTERVAL;
-+
-+ poll_dev->input->name = rt2x00dev->ops->name;
-+ poll_dev->input->phys = wiphy_name(rt2x00dev->hw->wiphy);
-+ poll_dev->input->id.bustype = BUS_HOST;
-+ poll_dev->input->id.vendor = 0x1814;
-+ poll_dev->input->id.product = rt2x00dev->chip.rt;
-+ poll_dev->input->id.version = rt2x00dev->chip.rev;
-+ poll_dev->input->dev.parent = wiphy_dev(rt2x00dev->hw->wiphy);
-+ poll_dev->input->evbit[0] = BIT(EV_KEY);
-+ set_bit(KEY_WLAN, poll_dev->input->keybit);
-+
-+ return poll_dev;
-+}
-+
-+void rt2x00rfkill_allocate(struct rt2x00_dev *rt2x00dev)
-+{
- if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags))
-- return 0;
-+ return;
-
-- rt2x00dev->rfkill = rfkill_allocate(device, RFKILL_TYPE_WLAN);
-+ rt2x00dev->rfkill =
-+ rfkill_allocate(wiphy_dev(rt2x00dev->hw->wiphy), RFKILL_TYPE_WLAN);
- if (!rt2x00dev->rfkill) {
- ERROR(rt2x00dev, "Failed to allocate rfkill handler.\n");
-- goto exit;
-+ return;
- }
- rt2x00dev->rfkill->name = rt2x00dev->ops->name;
-@@ -126,40 +151,49 @@ int rt2x00rfkill_allocate(struct rt2x00_
- rt2x00dev->rfkill->state = -1;
- rt2x00dev->rfkill->toggle_radio = rt2x00rfkill_toggle_radio;
-
-- rt2x00dev->poll_dev = input_allocate_polled_device();
-+ rt2x00dev->poll_dev = rt2x00rfkill_allocate_polldev(rt2x00dev);
- if (!rt2x00dev->poll_dev) {
- ERROR(rt2x00dev, "Failed to allocate polled device.\n");
-- goto exit_free_rfkill;
-+ rfkill_free(rt2x00dev->rfkill);
-+ rt2x00dev->rfkill = NULL;
-+ return;
- }
+ // static int mmtu = 1234;
+@@ -1233,7 +1226,6 @@ static ctl_table arlan_root_table[] =
+ //};
-- rt2x00dev->poll_dev->private = rt2x00dev;
-- rt2x00dev->poll_dev->poll = rt2x00rfkill_poll;
-- rt2x00dev->poll_dev->poll_interval = RFKILL_POLL_INTERVAL;
--
-- rt2x00dev->poll_dev->input->name = rt2x00dev->ops->name;
-- rt2x00dev->poll_dev->input->phys = wiphy_name(rt2x00dev->hw->wiphy);
-- rt2x00dev->poll_dev->input->id.bustype = BUS_HOST;
-- rt2x00dev->poll_dev->input->id.vendor = 0x1814;
-- rt2x00dev->poll_dev->input->id.product = rt2x00dev->chip.rt;
-- rt2x00dev->poll_dev->input->id.version = rt2x00dev->chip.rev;
-- rt2x00dev->poll_dev->input->dev.parent = device;
-- rt2x00dev->poll_dev->input->evbit[0] = BIT(EV_KEY);
-- set_bit(KEY_WLAN, rt2x00dev->poll_dev->input->keybit);
-+ return;
-+}
-
-- return 0;
-+void rt2x00rfkill_free(struct rt2x00_dev *rt2x00dev)
-+{
-+ if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags) ||
-+ !test_bit(RFKILL_STATE_ALLOCATED, &rt2x00dev->rfkill_state))
-+ return;
-
--exit_free_rfkill:
-- rfkill_free(rt2x00dev->rfkill);
-+ input_free_polled_device(rt2x00dev->poll_dev);
-+ rt2x00dev->poll_dev = NULL;
-
--exit:
-- return -ENOMEM;
-+ rfkill_free(rt2x00dev->rfkill);
-+ rt2x00dev->rfkill = NULL;
- }
--void rt2x00rfkill_free(struct rt2x00_dev *rt2x00dev)
-+void rt2x00rfkill_suspend(struct rt2x00_dev *rt2x00dev)
- {
-- if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags))
-+ if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags) ||
-+ !test_bit(RFKILL_STATE_ALLOCATED, &rt2x00dev->rfkill_state))
- return;
+-#ifdef CONFIG_PROC_FS
+ static struct ctl_table_header *arlan_device_sysctl_header;
- input_free_polled_device(rt2x00dev->poll_dev);
-- rfkill_free(rt2x00dev->rfkill);
-+ rt2x00dev->poll_dev = NULL;
-+}
-+
-+void rt2x00rfkill_resume(struct rt2x00_dev *rt2x00dev)
-+{
-+ if (!test_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags) ||
-+ !test_bit(RFKILL_STATE_ALLOCATED, &rt2x00dev->rfkill_state))
-+ return;
-+
-+ rt2x00dev->poll_dev = rt2x00rfkill_allocate_polldev(rt2x00dev);
-+ if (!rt2x00dev->poll_dev) {
-+ ERROR(rt2x00dev, "Failed to allocate polled device.\n");
-+ return;
-+ }
+ int __init init_arlan_proc(void)
+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-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c 2008-03-25 12:57:57.000000000 -0400
+@@ -6628,11 +6628,11 @@ static void iwl4965_alive_start(struct i
+
+ /* At this point, the NIC is initialized and operational */
+ priv->notif_missed_beacons = 0;
+- set_bit(STATUS_READY, &priv->status);
+
+ iwl4965_rf_kill_ct_config(priv);
+
+ IWL_DEBUG_INFO("ALIVE processing complete.\n");
++ set_bit(STATUS_READY, &priv->status);
+ wake_up_interruptible(&priv->wait_command_queue);
+
+ if (priv->error_recovering)
+@@ -9282,7 +9282,7 @@ static int iwl4965_pci_probe(struct pci_
+ return err;
}
-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-03-14 13:27:23.000000000 -0400
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c 2008-03-14 15:03:38.000000000 -0400
-@@ -427,6 +427,8 @@ void ath5k_hw_detach(struct ath5k_hw *ah
- {
- ATH5K_TRACE(ah->ah_sc);
-+ __set_bit(ATH_STAT_INVALID, ah->ah_sc->status);
-+
- if (ah->ah_rf_banks != NULL)
- kfree(ah->ah_rf_banks);
+-static void iwl4965_pci_remove(struct pci_dev *pdev)
++static void __devexit iwl4965_pci_remove(struct pci_dev *pdev)
+ {
+ struct iwl4965_priv *priv = pci_get_drvdata(pdev);
+ struct list_head *p, *q;
+diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig 2008-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig 2008-03-25 12:57:57.000000000 -0400
+@@ -20,7 +20,7 @@ config IWL4965
+ runs.
+
+ If you want to compile the driver as a module ( = code which can be
+- inserted in and remvoed from the running kernel whenever you want),
++ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/kbuild/modules.txt>. The
+ module will be called iwl4965.ko.
+
+@@ -101,7 +101,7 @@ config IWL3945
+ runs.
+
+ If you want to compile the driver as a module ( = code which can be
+- inserted in and remvoed from the running kernel whenever you want),
++ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/kbuild/modules.txt>. The
+ module will be called iwl3945.ko.
+
+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-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-03-25 12:57:57.000000000 -0400
+@@ -6206,11 +6206,11 @@ static void iwl3945_alive_start(struct i
+
+ /* At this point, the NIC is initialized and operational */
+ priv->notif_missed_beacons = 0;
+- set_bit(STATUS_READY, &priv->status);
+
+ iwl3945_reg_txpower_periodic(priv);
+
+ IWL_DEBUG_INFO("ALIVE processing complete.\n");
++ set_bit(STATUS_READY, &priv->status);
+ wake_up_interruptible(&priv->wait_command_queue);
+
+ if (priv->error_recovering)
+@@ -8706,7 +8706,7 @@ static int iwl3945_pci_probe(struct pci_
+ return err;
+ }
+-static void iwl3945_pci_remove(struct pci_dev *pdev)
++static void __devexit iwl3945_pci_remove(struct pci_dev *pdev)
+ {
+ struct iwl3945_priv *priv = pci_get_drvdata(pdev);
+ struct list_head *p, *q;
+diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-03-24 16:35:43.000000000 -0400
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-03-25 12:57:57.000000000 -0400
+@@ -2095,6 +2095,8 @@ static struct usb_device_id rt73usb_devi
+ { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) },
+ /* Conceptronic */
+ { USB_DEVICE(0x14b2, 0x3c22), USB_DEVICE_DATA(&rt73usb_ops) },
++ /* Corega */
++ { USB_DEVICE(0x07aa, 0x002e), USB_DEVICE_DATA(&rt73usb_ops) },
+ /* D-Link */
+ { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) },
+ { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
More information about the fedora-extras-commits
mailing list