rpms/kernel/devel kernel.spec, 1.406, 1.407 linux-2.6-at76.patch, 1.6, 1.7 linux-2.6-wireless-pending.patch, 1.27, 1.28 linux-2.6-wireless.patch, 1.21, 1.22

John W. Linville (linville) fedora-extras-commits at redhat.com
Wed Feb 6 15:59:07 UTC 2008


Author: linville

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv9186

Modified Files:
	kernel.spec linux-2.6-at76.patch 
	linux-2.6-wireless-pending.patch linux-2.6-wireless.patch 
Log Message:
upstream wireless updates 2008-02-06


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.406
retrieving revision 1.407
diff -u -r1.406 -r1.407
--- kernel.spec	6 Feb 2008 05:23:33 -0000	1.406
+++ kernel.spec	6 Feb 2008 15:58:27 -0000	1.407
@@ -1789,6 +1789,30 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Wed Feb 06 2008 John W. Linville <linville at redhat.com>
+- at76_usb: Add ID for Uniden PCW100
+- b43: fix build with CONFIG_SSB_PCIHOST=n
+- b43: Fix DMA for 30/32-bit DMA engines
+- b43legacy: fix PIO crash
+- b43legacy: fix suspend/resume
+- b43legacy: drop packets we are not able to encrypt
+- b43legacy: fix DMA slot resource leakage
+- iwl3945-base.c: fix off-by-one errors
+- wireless/iwlwifi/iwl-4965.c: add parentheses
+- mac80211: Is not EXPERIMENTAL anymore
+- rt2x00: don't write past the end when writing short descriptors on rt61
+- rt2x00: Update copyright notice
+- rt2x00: Add new USB ID to rt2500usb
+- rt2x00: Fix tx parameter initialization
+- rt2x00: Enable master and adhoc mode again
+- rt2x00: Driver requiring firmware should select crc algo
+- rt2x00: Add per-interface structure
+- rt2x00: Remove TX_MGMT queue usage
+- rt2x00: Initialize QID from queue->qid
+- rt2x00: Move beacon and atim queue defines into rt2x00
+- rt2x00: Fix queue index handling
+- rt2x00: Queue handling overhaul
+
 * Tue Feb 05 2008 Jarod Wilson <jwilson at redhat.com>
 - Make FireWire I/O survive bus resets and device
   reconnections better

linux-2.6-at76.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.6 -r 1.7 linux-2.6-at76.patch
Index: linux-2.6-at76.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-at76.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- linux-2.6-at76.patch	4 Jan 2008 21:55:12 -0000	1.6
+++ linux-2.6-at76.patch	6 Feb 2008 15:58:27 -0000	1.7
@@ -1,4 +1,15 @@
-commit 5f7ef1a457faae7cb4993d34fa4ba10e3d76bcd7
+commit 38ec6fbd236318179e28c71bc1b3dc94166e4be2
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Mon Feb 4 00:05:19 2008 -0500
+
+    at76_usb: Add ID for Uniden PCW100
+    
+    Tested and reported by Lior Silberman.
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4ed58b00a2df9772cfa631f53af52c38207d78ac
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:41:25 2007 -0400
 
@@ -7,7 +18,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 1e2d5aa761d54bfe6889d97bf6112b60a28baab5
+commit 3a39b0c26c19b4f26ab90f8cd170e68da3c8fb91
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:41:18 2007 -0400
 
@@ -16,7 +27,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit a4e9d08158e76eddfd7e27de41b5c666d6a8a4bf
+commit 69a965e9dde88c1dec49a0e840020bbdfc2263ad
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:41:12 2007 -0400
 
@@ -28,7 +39,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 4aaa1b155a5436246c9b09a0d1f1cd6c01723706
+commit e007ed4c5328f857201d66c8564978bd4150a9a5
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:41:06 2007 -0400
 
@@ -45,7 +56,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit d4839a148d61041f446964773b143bf5edd21200
+commit 84d9a4914d2f678728b0b9a4c4b360e93b2e2efa
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:59 2007 -0400
 
@@ -61,7 +72,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 658b7b2bda51f32d7a5cfe6412c491526db448d9
+commit 46e958f2e0334bfeb1436d8066e1797804212178
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:53 2007 -0400
 
@@ -80,7 +91,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit db0dc72651c5d659ea3b3221ef521329e33f861e
+commit cbf56decc3dd24be59bdcd7af14ae6b6fc1d7265
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:47 2007 -0400
 
@@ -92,7 +103,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 3237f35471da6da9531ed09c9c5ce6328756afb2
+commit 73363e219953a6bcafa0087b415c0ce154a13940
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:40 2007 -0400
 
@@ -103,7 +114,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit a7c5baf45c0ade1ab8bc4b0fda998c6906f410aa
+commit 65e5ad191757d5febb31e97a8a08dbd672d0662d
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:34 2007 -0400
 
@@ -112,7 +123,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit e00a873098bc7ff2ee7226fd83cf1728302d66ba
+commit 8f3811adf092d19f14111166af05f10cb2efa651
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:27 2007 -0400
 
@@ -124,7 +135,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 4a3ae9653e46ae417d999214fc9f06d59f251a8d
+commit 0048a3f2c0de2f6ba969731f51eaaa73b3e168e2
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:21 2007 -0400
 
@@ -136,7 +147,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit f6bee8e202482fa7206c1ae745474d4b33c8eb31
+commit 20eab45fc567b85f8aaa131eceb8d53ac14d3fd6
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:15 2007 -0400
 
@@ -145,7 +156,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 42fba4328202e66d758d2b0c4fd1228d60d58a27
+commit b96c9fd4b3770d5b731ed3d207644b2ffec80313
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:08 2007 -0400
 
@@ -154,7 +165,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit a29895517a5c5b1a821b5159869a37d33b3da085
+commit 6abdf0d9679fb3cc0b2ed539e24cbba058f33043
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:40:02 2007 -0400
 
@@ -166,7 +177,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 894d45809038e6a38c13160cf1bf180c370b6c4e
+commit 53c4d65cd1f4455b6d0c6ce605a6853e9108c6ae
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:55 2007 -0400
 
@@ -177,7 +188,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 4d85e95a0587ed5b24b9efa8b7d8c69426f77295
+commit 2a000a0fb3a21674791023759e24e1bdc3c197ef
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:49 2007 -0400
 
@@ -189,7 +200,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 250ee52b0edb92bd5d12961a6f0b8d17073e371e
+commit 59268149e41b94bc2bd3554fcd12d238e01bdc07
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:42 2007 -0400
 
@@ -200,7 +211,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit ef10a26c317e68320ecc737931e40e4a2f79acab
+commit 206f30d4d21565358128aa8ca210d518797ba285
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:36 2007 -0400
 
@@ -211,7 +222,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 857cf8143195c654f2fda058a267b108932b0d52
+commit afd74d244ce1d869e82758c650f49a867501762f
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:30 2007 -0400
 
@@ -220,7 +231,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 1bf1946f9ff6d5ab963505725a5d16fc81d9144f
+commit 2235301c13ec2c6367ef129477be8967631a436f
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Sun Sep 30 14:39:23 2007 -0400
 
@@ -231,7 +242,7 @@
     Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
[...11392 lines suppressed...]
++			goto error;
++		}
++	}
 +
-+	/* store rx fragments until complete */
-+	struct rx_data_buf rx_data[NR_RX_DATA_BUF];
++	priv = at76_alloc_new_device(udev);
++	if (!priv) {
++		ret = -ENOMEM;
++		goto error;
++	}
 +
-+	enum board_type board_type;
-+	struct mib_fw_version fw_version;
++	SET_NETDEV_DEV(priv->netdev, &interface->dev);
++	usb_set_intfdata(interface, priv);
 +
-+	unsigned int device_unplugged:1;
-+	unsigned int netdev_registered:1;
-+	struct set_mib_buffer mib_buf;	/* global buffer for set_mib calls */
++	memcpy(&priv->fw_version, &fwv, sizeof(struct mib_fw_version));
++	priv->board_type = board_type;
 +
-+	/* beacon counting */
-+	int beacon_period;	/* period of mgmt beacons, Kus */
-+	int beacons_received;
-+	unsigned long beacons_last_qual;	/* time we restarted counting
-+						   beacons */
-+};
++	ret = at76_init_new_device(priv, interface);
++	if (ret < 0)
++		at76_delete_device(priv);
 +
-+struct at76_rx_radiotap {
-+	struct ieee80211_radiotap_header rt_hdr;
-+	__le64 rt_tsft;
-+	u8 rt_flags;
-+	u8 rt_rate;
-+	s8 rt_signal;
-+	s8 rt_noise;
-+};
++	return ret;
 +
-+#define AT76_RX_RADIOTAP_PRESENT		  \
-+	((1 << IEEE80211_RADIOTAP_TSFT)		| \
-+	(1 << IEEE80211_RADIOTAP_FLAGS)		| \
-+	(1 << IEEE80211_RADIOTAP_RATE)		| \
-+	(1 << IEEE80211_RADIOTAP_DB_ANTSIGNAL)	| \
-+	(1 << IEEE80211_RADIOTAP_DB_ANTNOISE))
++error:
++	usb_put_dev(udev);
++	return ret;
++}
 +
-+#define BEACON_MAX_DATA_LENGTH	1500
++static void at76_disconnect(struct usb_interface *interface)
++{
++	struct at76_priv *priv;
 +
-+/* the maximum size of an AssocReq packet */
-+#define ASSOCREQ_MAX_SIZE \
-+  (AT76_TX_HDRLEN + sizeof(struct ieee80211_assoc_request) + \
-+   1 + 1 + IW_ESSID_MAX_SIZE + 1 + 1 + 4)
++	priv = usb_get_intfdata(interface);
++	usb_set_intfdata(interface, NULL);
 +
-+/* for shared secret auth, add the challenge text size */
-+#define AUTH_FRAME_SIZE (AT76_TX_HDRLEN + sizeof(struct ieee80211_auth))
++	/* Disconnect after loading internal firmware */
++	if (!priv)
++		return;
 +
-+/* Maximal number of AuthReq retries */
-+#define AUTH_RETRIES		3
++	printk(KERN_INFO "%s: disconnecting\n", priv->netdev->name);
++	at76_delete_device(priv);
++	dev_printk(KERN_INFO, &interface->dev, "disconnected\n");
++}
 +
-+/* Maximal number of AssocReq retries */
-+#define ASSOC_RETRIES		3
++/* Structure for registering this driver with the USB subsystem */
++static struct usb_driver at76_driver = {
++	.name = DRIVER_NAME,
++	.probe = at76_probe,
++	.disconnect = at76_disconnect,
++	.id_table = dev_table,
++};
 +
-+/* Beacon timeout in managed mode when we are connected */
-+#define BEACON_TIMEOUT		(10 * HZ)
++static int __init at76_mod_init(void)
++{
++	int result;
 +
-+/* Timeout for authentication response */
-+#define AUTH_TIMEOUT		(1 * HZ)
++	printk(KERN_INFO DRIVER_DESC " " DRIVER_VERSION " loading\n");
 +
-+/* Timeout for association response */
-+#define ASSOC_TIMEOUT		(1 * HZ)
++	mutex_init(&fw_mutex);
 +
-+/* Polling interval when scan is running */
-+#define SCAN_POLL_INTERVAL	(HZ / 4)
++	/* register this driver with the USB subsystem */
++	result = usb_register(&at76_driver);
++	if (result < 0)
++		printk(KERN_ERR DRIVER_NAME
++		       ": usb_register failed (status %d)\n", result);
 +
-+/* Command completion timeout */
-+#define CMD_COMPLETION_TIMEOUT	(5 * HZ)
++	led_trigger_register_simple("at76_usb-tx", &ledtrig_tx);
++	return result;
++}
 +
-+#define DEF_RTS_THRESHOLD	1536
-+#define DEF_FRAG_THRESHOLD	1536
-+#define DEF_SHORT_RETRY_LIMIT	8
-+#define DEF_CHANNEL		10
-+#define DEF_SCAN_MIN_TIME	10
-+#define DEF_SCAN_MAX_TIME	120
++static void __exit at76_mod_exit(void)
++{
++	int i;
 +
-+#define MAX_RTS_THRESHOLD	(MAX_FRAG_THRESHOLD + 1)
++	printk(KERN_INFO DRIVER_DESC " " DRIVER_VERSION " unloading\n");
++	usb_deregister(&at76_driver);
++	for (i = 0; i < ARRAY_SIZE(firmwares); i++) {
++		if (firmwares[i].fw)
++			release_firmware(firmwares[i].fw);
++	}
++	led_trigger_unregister_simple(ledtrig_tx);
++}
 +
-+/* the max padding size for tx in bytes (see calc_padding) */
-+#define MAX_PADDING_SIZE	53
++module_param_named(debug, at76_debug, int, 0600);
++MODULE_PARM_DESC(debug, "Debugging level");
 +
-+#endif				/* _AT76_USB_H */
-diff -up linux-2.6.23.noarch/drivers/net/wireless/Makefile.orig linux-2.6.23.noarch/drivers/net/wireless/Makefile
---- linux-2.6.23.noarch/drivers/net/wireless/Makefile.orig	2007-11-21 14:11:39.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/Makefile	2007-11-21 14:20:33.000000000 -0500
-@@ -32,6 +32,8 @@ obj-$(CONFIG_ATMEL)             += atmel
- obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o 
- obj-$(CONFIG_PCMCIA_ATMEL)      += atmel_cs.o
- 
-+obj-$(CONFIG_USB_ATMEL)	        += at76_usb.o
++module_init(at76_mod_init);
++module_exit(at76_mod_exit);
 +
- obj-$(CONFIG_PRISM54)		+= prism54/
- 
- obj-$(CONFIG_HOSTAP)		+= hostap/
-diff -up linux-2.6.23.noarch/MAINTAINERS.orig linux-2.6.23.noarch/MAINTAINERS
---- linux-2.6.23.noarch/MAINTAINERS.orig	2007-11-21 14:11:39.000000000 -0500
-+++ linux-2.6.23.noarch/MAINTAINERS	2007-11-21 14:20:33.000000000 -0500
-@@ -699,6 +699,15 @@ W:	http://www.thekelleys.org.uk/atmel
- W:	http://atmelwlandriver.sourceforge.net/
- S:	Maintained
++MODULE_AUTHOR("Oliver Kurth <oku at masqmail.cx>");
++MODULE_AUTHOR("Joerg Albert <joerg.albert at gmx.de>");
++MODULE_AUTHOR("Alex <alex at foogod.com>");
++MODULE_AUTHOR("Nick Jones");
++MODULE_AUTHOR("Balint Seeber <n0_5p4m_p13453 at hotmail.com>");
++MODULE_AUTHOR("Pavel Roskin <proski at gnu.org>");
++MODULE_DESCRIPTION(DRIVER_DESC);
++MODULE_LICENSE("GPL");
+diff -up linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/Kconfig
+--- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig	2008-02-05 22:45:16.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig	2008-02-05 22:46:17.000000000 -0500
+@@ -451,6 +451,14 @@ config PCMCIA_ATMEL
+ 	  Enable support for PCMCIA cards containing the
+ 	  Atmel at76c502 and at76c504 chips.
  
-+ATMEL USB WIRELESS DRIVER
-+P:	Pavel Roskin
-+M:	proski at gnu.org
-+L:	linux-wireless at vger.kernel.org
-+L:	at76c503a-user at lists.berlios.de
-+L:	at76c503a-develop at lists.berlios.de
-+W:	http://at76c503a.berlios.de/
-+S:	Maintained
++config USB_ATMEL
++	tristate "Atmel at76c503/at76c505/at76c505a USB cards"
++	depends on WLAN_80211 && USB
++	select FW_LOADER
++	---help---
++	  Enable support for USB Wireless devices using Atmel at76c503,
++	  at76c505 or at76c505a chips.
 +
- AUDIT SUBSYSTEM
- P:	David Woodhouse
- M:	dwmw2 at infradead.org
+ config AIRO_CS
+ 	tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards"
+ 	depends on PCMCIA && (BROKEN || !M32R) && WLAN_80211

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.27 -r 1.28 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.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- linux-2.6-wireless-pending.patch	1 Feb 2008 22:33:38 -0000	1.27
+++ linux-2.6-wireless-pending.patch	6 Feb 2008 15:58:27 -0000	1.28
@@ -1,4 +1,227 @@
-commit f2d4faa756470565c28a72217d35385719ee477d
+commit 1649f279a01d5623c5ab048dea69654c13b87dd9
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:55:21 2008 +0100
+
+    rt2x00: Fix queue index handling
+    
+    When Q_INDEX is increased, the queue->length should be increased,
+    only when Q_INDEX_DONE is increased should queue_length be descreased.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 49dc7bf4c18be97f49e5d84804e2a210294f2ebc
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:54:57 2008 +0100
+
+    rt2x00: Move beacon and atim queue defines into rt2x00
+    
+    As Johannes Berg indicated the BEACON and AFTER_BEACON
+    queue indeces in mac80211 should be removed because they
+    are too hardware specific. This patch adds the queue index
+    defines into rt2x00queue.h and removes the dependency of
+    the defines inside mac80211.h.
+    
+    Also move rt2x00pci_beacon_update() into rt2400pci and
+    rt2500pci individually since it is no longer a generic
+    function since rt61 and rt2800 no longer use that.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 00bb22220f6e648a50faa755e7c6673d6c98f283
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:52:21 2008 +0100
+
+    rt2x00: Initialize QID from queue->qid
+    
+    The QID_MGMT is assigned to the beacon and atim queue
+    during initialization. This means we don't need a seperate
+    check in write_tx_desc()..
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ac70a432ade9dc1943a5fc6887477942ef2c297f
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:51:47 2008 +0100
+
+    rt2x00: Remove TX_MGMT queue usage
+    
+    rt73usb doesn't have a 5th queue, correctly initialize hw->queues
+    rt61pci had a 5th queue but was removed recently, correctly initialize
+    hw->queues and remove the last remnants.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 5a6bd1bd947056843e39693322586c11b88301ef
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:49:59 2008 +0100
+
+    rt2x00: Add per-interface structure
+    
+    Rework the interface handling. Delete the interface structure
+    and replace it with a per-interface structure. This changes the
+    way rt2x00 handles the active interface drastically.
+    
+    Copy ieee80211_bss_conf to the this rt2x00_intf structure during
+    the bss_info_changed() callback function. This will allow us to
+    reference it later, and removes the requirement for the device flag
+    SHORT_PREAMBLE flag which is interface specific.
+    
+    Drivers receive the option to give the maximum number of virtual
+    interfaces the device can handle. Virtual interface support:
+    rt2400pci: 1 sta or 1 ap, * monitor interfaces
+    rt2500pci: 1 sta or 1 ap, * monitor interfaces
+    rt2500usb: 1 sta or 1 ap, * monitor interfaces
+    rt61pci: 1 sta or 4 ap, * monitor interfaces
+    rt73usb: 1 sta or 4 ap, * monitor interfaces
+    
+    At the moment none of the drivers support AP and STA interfaces
+    simultaneously, this is a hardware limitation so future support
+    will be very unlikely.
+    
+    Each interface structure receives its dedicated beacon entry,
+    with this we can easily work with beaconing while multiple master
+    mode interfaces are currently active.
+    
+    The configuration handlers for the MAC, BSSID and type are
+    often called together since they all belong to the interface
+    configuration. Merge the 3 configuration calls and cleanup
+    the API between rt2x00lib and the drivers. While we are cleaning
+    up the interface configuration anyway, we might as well clean up
+    the configuration handler as well.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 45df21472750a43c3430aced2976dd664e2f9db9
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:48:38 2008 +0100
+
+    rt2x00: Driver requiring firmware should select crc algo
+    
+    The driver should select what CRC algorithm is required
+    when performing a checksum on the firmware.
+    
+    rt61pci & rt73usb require crc-itu-t
+    rt2800pci & rt2800usb require crc-ccitt
+    
+    Legacy 2800pci/usb driver uses crc-itu-t + bit order reversion,
+    but that is just inefficient especially since the end result is
+    the same as a different algorithm which is also available as library. ;)
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a9ccef5ab4a89d5d8ff1a34273345b778ed3ce0e
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:48:03 2008 +0100
+
+    rt2x00: Enable master and adhoc mode again
+    
+    This will enable the creation of master mode and adhoc
+    interfaces again. This does not mean the issues surrounding
+    beaconing have been resolved, but this will make testing
+    easier and perhaps we can discover which cards are actually
+    working and which ones not.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 044eab1f0336a45c54b4968c5d1e2897bb138269
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:47:30 2008 +0100
+
+    rt2x00: Fix tx parameter initialization
+    
+    Check if the aifs, cw_min and cw_max are above 0
+    when determining if the default should be used.
+    Tor aifs a negative number is used to determine
+    if the default should be used or not.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit b39069b5bb4ed12838a80b33f6b04e376744deac
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 3 15:47:02 2008 +0100
+
+    rt2x00: Add new USB ID to rt2500usb
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0ea32c0eed26d17d7a4c8da6b2b30b64cade906a
+Author: Adam Baker <linux at baker-net.org.uk>
+Date:   Sun Feb 3 15:46:24 2008 +0100
+
+    rt2x00: don't write past the end when writing short descriptors on rt61
+    
+    The space allocated in the skb for a descriptor is only 24 bytes when
+    setting up beacons in rt61 so make sure we don't write to the descriptor
+    words beyond that and corrupt the beacon packet.
+    
+    Signed-off-by: Adam Baker <linux at baker-net.org.uk>
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 412f0889afb95408fb53a4b754c6a69e609dc2c5
+Author: John W. Linville <linville at tuxdriver.com>
+Date:   Tue Feb 5 16:42:23 2008 -0500
+
+    rt2x00: Queue handling overhaul
+    
+    This introduces a big queue handling overhaul, this also
+    renames "ring" to "queues".
+    
+    Move queue handling into rt2x00queue.c and the matching header,
+    use Kerneldoc to improve rt2x00 library documentation.
+    
+    Access to the queues is now protected under a spinlock, this
+    to prevent race conditions which could corrupt the indexing
+    system of the queue.
+    
+    Each queue entry allocates x bytes for driver/device specific data,
+    this cleans up the queue structure significantly and improves
+    code readability.
+    
+    rt2500usb no longer needs 2 entries in the beacon queue to correctly
[...7825 lines suppressed...]
+ 
+ 	rt2x00_desc_read(rxd, 0, &word0);
+ 	rt2x00_desc_read(rxd, 1, &word1);
+ 
+-	desc->flags = 0;
++	rxdesc->flags = 0;
+ 	if (rt2x00_get_field32(word0, RXD_W0_CRC_ERROR))
+-		desc->flags |= RX_FLAG_FAILED_FCS_CRC;
++		rxdesc->flags |= RX_FLAG_FAILED_FCS_CRC;
+ 
+ 	/*
+ 	 * Obtain the status about this packet.
+ 	 */
+-	desc->signal = rt2x00_get_field32(word1, RXD_W1_SIGNAL);
+-	desc->rssi = rt73usb_agc_to_rssi(entry->ring->rt2x00dev, word1);
+-	desc->ofdm = rt2x00_get_field32(word0, RXD_W0_OFDM);
+-	desc->size = rt2x00_get_field32(word0, RXD_W0_DATABYTE_COUNT);
+-	desc->my_bss = !!rt2x00_get_field32(word0, RXD_W0_MY_BSS);
++	rxdesc->signal = rt2x00_get_field32(word1, RXD_W1_SIGNAL);
++	rxdesc->rssi = rt73usb_agc_to_rssi(entry->queue->rt2x00dev, word1);
++	rxdesc->ofdm = rt2x00_get_field32(word0, RXD_W0_OFDM);
++	rxdesc->size = rt2x00_get_field32(word0, RXD_W0_DATABYTE_COUNT);
++	rxdesc->my_bss = !!rt2x00_get_field32(word0, RXD_W0_MY_BSS);
++
++	/*
++	 * The data behind the ieee80211 header must be
++	 * aligned on a 4 byte boundary.
++	 */
++	if (header_size % 4 == 0) {
++		skb_push(entry->skb, 2);
++		memmove(entry->skb->data, entry->skb->data + 2,
++			entry->skb->len - 2);
++	}
+ 
+ 	/*
+ 	 * Set descriptor and data pointer.
+ 	 */
++	skbdesc->data = entry->skb->data + entry->queue->desc_size;
++	skbdesc->data_len = entry->queue->data_size;
+ 	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;
++	skbdesc->desc_len = entry->queue->desc_size;
++
++	/*
++	 * Remove descriptor from skb buffer and trim the whole thing
++	 * down to only contain data.
++	 */
++	skb_pull(entry->skb, skbdesc->desc_len);
++	skb_trim(entry->skb, rxdesc->size);
+ }
+ 
+ /*
+@@ -1755,7 +1792,7 @@ static void rt73usb_probe_hw_mode(struct
+ 	rt2x00dev->hw->extra_tx_headroom = TXD_DESC_SIZE;
+ 	rt2x00dev->hw->max_signal = MAX_SIGNAL;
+ 	rt2x00dev->hw->max_rssi = MAX_RX_SSI;
+-	rt2x00dev->hw->queues = 5;
++	rt2x00dev->hw->queues = 4;
+ 
+ 	SET_IEEE80211_DEV(rt2x00dev->hw, &rt2x00dev_usb(rt2x00dev)->dev);
+ 	SET_IEEE80211_PERM_ADDR(rt2x00dev->hw,
+@@ -1825,9 +1862,10 @@ static int rt73usb_probe_hw(struct rt2x0
+ 	rt73usb_probe_hw_mode(rt2x00dev);
+ 
+ 	/*
+-	 * This device requires firmware
++	 * This device requires firmware.
+ 	 */
+ 	__set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags);
++	__set_bit(DRIVER_REQUIRE_FIRMWARE_CRC_ITU_T, &rt2x00dev->flags);
+ 
+ 	/*
+ 	 * Set the rssi offset.
+@@ -1960,52 +1998,52 @@ static void rt73usb_reset_tsf(struct iee
+ }
+ 
+ static int rt73usb_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb,
+-			  struct ieee80211_tx_control *control)
++				 struct ieee80211_tx_control *control)
+ {
+ 	struct rt2x00_dev *rt2x00dev = hw->priv;
+-	struct skb_desc *desc;
+-	struct data_ring *ring;
+-	struct data_entry *entry;
+-	int timeout;
++	struct rt2x00_intf *intf = vif_to_intf(control->vif);
++	struct skb_frame_desc *skbdesc;
++	unsigned int beacon_base;
++	unsigned int timeout;
+ 
+-	/*
+-	 * Just in case the ieee80211 doesn't set this,
+-	 * but we need this queue set for the descriptor
+-	 * initialization.
+-	 */
+-	control->queue = IEEE80211_TX_QUEUE_BEACON;
+-	ring = rt2x00lib_get_ring(rt2x00dev, control->queue);
+-	entry = rt2x00_get_data_entry(ring);
++	if (unlikely(!intf->beacon))
++		return -ENOBUFS;
+ 
+ 	/*
+ 	 * Add the descriptor in front of the skb.
+ 	 */
+-	skb_push(skb, ring->desc_size);
+-	memset(skb->data, 0, ring->desc_size);
++	skb_push(skb, intf->beacon->queue->desc_size);
++	memset(skb->data, 0, intf->beacon->queue->desc_size);
+ 
+ 	/*
+ 	 * Fill in skb descriptor
+ 	 */
+-	desc = get_skb_desc(skb);
+-	desc->desc_len = ring->desc_size;
+-	desc->data_len = skb->len - ring->desc_size;
+-	desc->desc = skb->data;
+-	desc->data = skb->data + ring->desc_size;
+-	desc->ring = ring;
+-	desc->entry = entry;
++	skbdesc = get_skb_frame_desc(skb);
++	memset(skbdesc, 0, sizeof(*skbdesc));
++	skbdesc->data = skb->data + intf->beacon->queue->desc_size;
++	skbdesc->data_len = skb->len - intf->beacon->queue->desc_size;
++	skbdesc->desc = skb->data;
++	skbdesc->desc_len = intf->beacon->queue->desc_size;
++	skbdesc->entry = intf->beacon;
+ 
++	/*
++	 * mac80211 doesn't provide the control->queue variable
++	 * for beacons. Set our own queue identification so
++	 * it can be used during descriptor initialization.
++	 */
++	control->queue = RT2X00_BCN_QUEUE_BEACON;
+ 	rt2x00lib_write_tx_desc(rt2x00dev, skb, control);
+ 
+ 	/*
+ 	 * Write entire beacon with descriptor to register,
+ 	 * and kick the beacon generator.
+ 	 */
++	beacon_base = HW_BEACON_OFFSET(intf->beacon->entry_idx);
+ 	timeout = REGISTER_TIMEOUT * (skb->len / sizeof(u32));
+ 	rt2x00usb_vendor_request(rt2x00dev, USB_MULTI_WRITE,
+-				 USB_VENDOR_REQUEST_OUT,
+-				 HW_BEACON_BASE0, 0x0000,
++				 USB_VENDOR_REQUEST_OUT, beacon_base, 0,
+ 				 skb->data, skb->len, timeout);
+-	rt73usb_kick_tx_queue(rt2x00dev, IEEE80211_TX_QUEUE_BEACON);
++	rt73usb_kick_tx_queue(rt2x00dev, control->queue);
+ 
+ 	return 0;
+ }
+@@ -2046,19 +2084,41 @@ static const struct rt2x00lib_ops rt73us
+ 	.get_tx_data_len	= rt73usb_get_tx_data_len,
+ 	.kick_tx_queue		= rt73usb_kick_tx_queue,
+ 	.fill_rxdone		= rt73usb_fill_rxdone,
+-	.config_mac_addr	= rt73usb_config_mac_addr,
+-	.config_bssid		= rt73usb_config_bssid,
+-	.config_type		= rt73usb_config_type,
++	.config_intf		= rt73usb_config_intf,
+ 	.config_preamble	= rt73usb_config_preamble,
+ 	.config			= rt73usb_config,
+ };
+ 
++static const struct data_queue_desc rt73usb_queue_rx = {
++	.entry_num		= RX_ENTRIES,
++	.data_size		= DATA_FRAME_SIZE,
++	.desc_size		= RXD_DESC_SIZE,
++	.priv_size		= sizeof(struct queue_entry_priv_usb_rx),
++};
++
++static const struct data_queue_desc rt73usb_queue_tx = {
++	.entry_num		= TX_ENTRIES,
++	.data_size		= DATA_FRAME_SIZE,
++	.desc_size		= TXD_DESC_SIZE,
++	.priv_size		= sizeof(struct queue_entry_priv_usb_tx),
++};
++
++static const struct data_queue_desc rt73usb_queue_bcn = {
++	.entry_num		= 4 * BEACON_ENTRIES,
++	.data_size		= MGMT_FRAME_SIZE,
++	.desc_size		= TXINFO_SIZE,
++	.priv_size		= sizeof(struct queue_entry_priv_usb_tx),
++};
++
+ static const struct rt2x00_ops rt73usb_ops = {
+ 	.name		= KBUILD_MODNAME,
+-	.rxd_size	= RXD_DESC_SIZE,
+-	.txd_size	= TXD_DESC_SIZE,
++	.max_sta_intf	= 1,
++	.max_ap_intf	= 4,
+ 	.eeprom_size	= EEPROM_SIZE,
+ 	.rf_size	= RF_SIZE,
++	.rx		= &rt73usb_queue_rx,
++	.tx		= &rt73usb_queue_tx,
++	.bcn		= &rt73usb_queue_bcn,
+ 	.lib		= &rt73usb_rt2x00_ops,
+ 	.hw		= &rt73usb_mac80211_ops,
+ #ifdef CONFIG_RT2X00_LIB_DEBUGFS

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.21 -r 1.22 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.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- linux-2.6-wireless.patch	1 Feb 2008 22:33:38 -0000	1.21
+++ linux-2.6-wireless.patch	6 Feb 2008 15:58:27 -0000	1.22
@@ -1,3 +1,169 @@
+commit b79caa68c0d48477453a90d12be34b47cb75f3a8
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Tue Feb 5 12:50:41 2008 +0100
+
+    b43: Fix DMA for 30/32-bit DMA engines
+    
+    This checks if the DMA address is bigger than what the controller can manage.
+    It will reallocate the buffers in the GFP_DMA zone in that case.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 532031d7f426eb02f854d13184416cabcb01bdd5
+Author: Andrew Morton <akpm at linux-foundation.org>
+Date:   Mon Feb 4 23:58:42 2008 -0800
+
+    b43: fix build with CONFIG_SSB_PCIHOST=n
+    
+    m68k allmodconfig gives
+    
+    drivers/net/wireless/b43/main.c:251: error: implicit declaration of function 'mmiowb'
+    
+    because CONFIG_B43=m, CONFIG_SSB_PCIHOST=n.
+    
+    Might be Kconfig bustage, but this works...
+    
+    Cc: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 03ac7a8141e1613add92d42e389a35a126b1caf8
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Mon Feb 4 18:11:41 2008 +0100
+
+    mac80211: Is not EXPERIMENTAL anymore
+    
+    Remove the EXPERIMENTAL dependency, as the existing mac80211
+    features are stable.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 221c80cf03d77490b8e45184a273834d0259b9e0
+Author: Adrian Bunk <bunk at kernel.org>
+Date:   Sat Feb 2 23:19:01 2008 +0200
+
+    iwl3945-base.c: fix off-by-one errors
+    
+    This patch fixes two off-by-one errors resulting in array overflows
+    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 8dd0100ce9511e52614ecd0a6587c13ce5769c8b
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Sat Feb 2 19:16:03 2008 +0100
+
+    b43legacy: fix DMA slot resource leakage
+    
+    This fixes four resource leakages.
+    In any error path we must deallocate the DMA frame slots we
+    previously allocated by request_slot().
+    This is done by storing the ring pointers before doing any ring
+    allocation and restoring the old pointers in case of an error.
+    
+    This patch by Michael Buesch has been ported to b43legacy.
+    
+    Cc: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 9eca9a8e81928685b4de00ecef83a7c13c340fc9
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Sat Feb 2 19:16:01 2008 +0100
+
+    b43legacy: drop packets we are not able to encrypt
+    
+    We must drop any packets we are not able to encrypt.
+    We must not send them unencrypted or with an all-zero-key (which
+    basically is the same as unencrypted, from a security point of view).
+    
+    This might only trigger shortly after resume before mac80211 reassociated
+    and reconfigured the keys.
+    
+    It is safe to drop these packets, as the association they belong to
+    is not guaranteed anymore anyway.
+    This is a security fix in the sense that it prevents information leakage.
+    
+    This patch by Michael Buesch has been ported to b43legacy.
+    
+    Cc: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ada50731c0346bf900dc387edd3a6961297bf2d3
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Sat Feb 2 19:15:57 2008 +0100
+
+    b43legacy: fix suspend/resume
+    
+    This patch makes suspend/resume work with the b43legacy driver.
+    We must not overwrite the MAC addresses in the init function, as this
+    would also overwrite the MAC on resume. With an all-zero MAC the device
+    firmware is not able to ACK any received packets anymore.
+    Fix this by moving the initializion stuff that must be done on init but
+    not on resume to the start function.
+    Also zero out filter_flags to make sure we don't have some flags
+    from a previous instance for a tiny timeframe until mac80211 reconfigures
+    them.
+    
+    This patch by Michael Buesch has been ported to b43legacy.
+    
+    Cc: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0cd67d48b519c3d8d89d238fab1cf68a5289638a
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date:   Sat Feb 2 19:15:49 2008 +0100
+
+    b43legacy: fix PIO crash
+    
+    Fix the crash reported below, which seems to happen on bcm4306 rev. 2 devices
+    only while using PIO:
+    
+    Oops: 0000 [#1] PREEMPT
+    Modules linked in: b43(F) rfkill(F) led_class(F) input_polldev(F) arc4 b43legacy mac80211 cfg80211 i915 drm snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device ohci1394 ieee1394 ssb pcmcia snd_intel8x0m ehci_hcd uhci_hcd evdev
+    
+    Pid: 0, comm: swapper Tainted: GF	(2.6.24st3 #2)
+    EIP: 0060:[<f90f667b>] EFLAGS: 00010002 CPU: 0
+    EIP is at b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy]
+    EAX: 0000049b EBX: f11f8044 ECX: 00000001 EDX: 00000000
+    ESI: f1ff8000 EDI: 00000000 EBP: f11f8040 ESP: c04f4ef4
+     DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
+    Process swapper (pid: 0, ti=c04f4000 task=c0488300 task.ti=c04b8000)
+    Stack: f90f2788 c05009f0 c0500900 000010f7 f1053823 c04f4f24 dfb8e800 00000003
+           f1368000 00000007 00000296 f90f1975 00001000 010c0800 01000000 00000007
+           f90f6391 f11f8000 00000082 c04f4f4a 00000000 00004fd0 10f70000 8c061000
+    Call Trace:
+     [<f90f2788>] b43legacy_debugfs_log_txstat+0x48/0xb0 [b43legacy]
+     [<f90f1975>] b43legacy_handle_hwtxstatus+0x75/0x80 [b43legacy]
+     [<f90f6391>] b43legacy_pio_rx+0x201/0x280 [b43legacy]
+     [<f90e4fa3>] b43legacy_interrupt_tasklet+0x2e3/0x870 [b43legacy]
+     [<c0123567>] tasklet_action+0x27/0x60
+     [<c01237b4>] __do_softirq+0x54/0xb0
+     [<c010686b>] do_softirq+0x7b/0xe0
+     [<c01457c0>] handle_level_irq+0x0/0x110
+     [<c01457c0>] handle_level_irq+0x0/0x110
+     [<c0123758>] irq_exit+0x38/0x40
+     [<c0106953>] do_IRQ+0x83/0xd0
+     [<c011812f>] __update_rq_clock+0x4f/0x180
+     [<c0104b4f>] common_interrupt+0x23/0x28
+     [<c011007b>] wakeup_code+0x7b/0xde
+     [<c02b1039>] acpi_processor_idle+0x24a/0x3c9
+     [<c01025c7>] cpu_idle+0x47/0x80
+     [<c04b9ad5>] start_kernel+0x205/0x290
+     [<c04b9360>] unknown_bootoption+0x0/0x1f0
+     =======================
+    Code: 0f 00 00 81 fb ff 00 00 00 0f 87 36 01 00 00 8d 04 db 85 ff 8d 6c c6 40 8d 5d 04 0f 85 ef 00 00 00 fe 4e 0e 0f b7 46 0c 8b 53 04 <8b> 4a 50 29 c8 83 e8 52 66 89 46 0c 8b 54 24 14 80 7a 0b 00 74
+    EIP: [<f90f667b>] b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy] SS:ESP 0068:c04f4ef4
+    Kernel panic - not syncing: Fatal exception in interrupt
+    
+    Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 04a9e451fdbbfb84d6b87042b991f729f1c14249
 Author: John W. Linville <linville at tuxdriver.com>
 Date:   Fri Feb 1 16:03:45 2008 -0500
@@ -7373,7 +7539,7 @@
 
 diff -up linux-2.6.24.noarch/include/linux/nl80211.h.orig linux-2.6.24.noarch/include/linux/nl80211.h
 --- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-02-01 17:01:45.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-02-05 22:16:21.000000000 -0500
 @@ -7,6 +7,18 @@
   */
  
@@ -7576,7 +7742,7 @@
  #endif /* __LINUX_NL80211_H */
 diff -up linux-2.6.24.noarch/include/linux/wireless.h.orig linux-2.6.24.noarch/include/linux/wireless.h
 --- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/wireless.h	2008-02-01 17:01:45.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/wireless.h	2008-02-05 22:16:21.000000000 -0500
 @@ -541,6 +541,16 @@
  /* Maximum size of returned data */
  #define IW_SCAN_MAX_DATA	4096	/* In bytes */
@@ -7606,7 +7772,7 @@
  
 diff -up linux-2.6.24.noarch/include/linux/input.h.orig linux-2.6.24.noarch/include/linux/input.h
 --- linux-2.6.24.noarch/include/linux/input.h.orig	2008-01-24 17:58:37.000000000 -0500
[...3439 lines suppressed...]
---- /dev/null	2008-02-01 08:33:32.194352225 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h	2008-02-01 17:01:47.000000000 -0500
+--- /dev/null	2008-02-05 08:32:52.710614252 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h	2008-02-05 22:16:24.000000000 -0500
 @@ -0,0 +1,179 @@
 +/*-
 + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
@@ -125109,8 +125858,8 @@
 +
 +#endif
 diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/ath5k/regdom.c
---- /dev/null	2008-02-01 08:33:32.194352225 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/regdom.c	2008-02-01 17:01:47.000000000 -0500
+--- /dev/null	2008-02-05 08:32:52.710614252 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/regdom.c	2008-02-05 22:16:24.000000000 -0500
 @@ -0,0 +1,121 @@
 +/*
 + * Copyright (c) 2004, 2005 Reyk Floeter <reyk at vantronix.net>
@@ -125235,7 +125984,7 @@
 +
 diff -up linux-2.6.24.noarch/drivers/net/wireless/p54pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/p54pci.c
 --- linux-2.6.24.noarch/drivers/net/wireless/p54pci.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54pci.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54pci.c	2008-02-05 22:16:24.000000000 -0500
 @@ -48,10 +48,10 @@ static int p54p_upload_firmware(struct i
  	const struct firmware *fw_entry = NULL;
  	__le32 reg;
@@ -125510,8 +126259,8 @@
  
  static int __devinit p54p_probe(struct pci_dev *pdev,
 diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c
---- /dev/null	2008-02-01 08:33:32.194352225 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c	2008-02-01 17:01:47.000000000 -0500
+--- /dev/null	2008-02-05 08:32:52.710614252 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c	2008-02-05 22:16:24.000000000 -0500
 @@ -0,0 +1,150 @@
 +/*
 + * Radio tuning for Maxim max2820 on RTL8180
@@ -125665,7 +126414,7 @@
 +};
 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-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c	2008-02-05 22:16:24.000000000 -0500
 @@ -104,7 +104,7 @@ static int adm8211_read_eeprom(struct ie
  	if (!priv->eeprom)
  		return -ENOMEM;
@@ -125700,7 +126449,7 @@
  		printk(KERN_WARNING "%s (adm8211): Invalid hwaddr in EEPROM!\n",
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h	2008-02-05 22:16:24.000000000 -0500
 @@ -188,10 +188,10 @@
  
  struct hfa384x_comp_ident
@@ -125765,7 +126514,7 @@
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c	2008-02-05 22:16:24.000000000 -0500
 @@ -1039,7 +1039,7 @@ void hostap_80211_rx(struct net_device *
  		memcpy(skb_push(skb, ETH_ALEN), src, ETH_ALEN);
  		memcpy(skb_push(skb, ETH_ALEN), dst, ETH_ALEN);
@@ -125777,7 +126526,7 @@
  		len = htons(skb->len);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c	2008-02-05 22:16:24.000000000 -0500
 @@ -258,7 +258,7 @@ static void ap_handle_timer(unsigned lon
  				 sta->addr, ap->tx_callback_poll);
  	} else {
@@ -126038,7 +126787,7 @@
  	if (local->ap->ap_policy != AP_OTHER_AP_EVEN_IBSS &&
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h	2008-02-05 22:16:24.000000000 -0500
 @@ -39,20 +39,20 @@ struct linux_wlan_ng_prism_hdr {
  } __attribute__ ((packed));
  
@@ -126340,7 +127089,7 @@
  struct comm_tallies_sums {
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c	2008-02-05 22:16:24.000000000 -0500
 @@ -128,8 +128,8 @@ static inline u16 hfa384x_inw_debug(stru
  #define HFA384X_INB(a) hfa384x_inb_debug(dev, (a))
  #define HFA384X_OUTW(v,a) hfa384x_outw_debug(dev, (a), (v))
@@ -126391,7 +127140,7 @@
  		HFA384X_OUTW_DATA(*pos++, d_off);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c	2008-02-05 22:16:24.000000000 -0500
 @@ -100,7 +100,7 @@ static int hfa384x_from_aux(struct net_d
  
  #ifdef PRISM2_PCI
@@ -126453,7 +127202,7 @@
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-02-05 22:16:24.000000000 -0500
 @@ -845,15 +845,13 @@ static struct pcmcia_device_id hostap_cs
  					 0x4b801a17),
  	PCMCIA_MFC_DEVICE_PROD_ID12(0, "SanDisk", "ConnectPlus",
@@ -126492,7 +127241,7 @@
  MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c	2008-02-05 22:16:24.000000000 -0500
 @@ -1075,7 +1075,7 @@ static int prism2_setup_rids(struct net_
  {
  	struct hostap_interface *iface;
@@ -126580,7 +127329,7 @@
  	}
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c	2008-02-05 22:16:24.000000000 -0500
 @@ -296,7 +296,7 @@ int hostap_tx_callback_unregister(local_
  int hostap_set_word(struct net_device *dev, int rid, u16 val)
  {
@@ -126610,7 +127359,7 @@
  	return ret;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-02-05 22:16:24.000000000 -0500
 @@ -303,7 +303,7 @@ static void prism2_info_hostscanresults(
  	int i, result_size, copy_len, new_count;
  	struct hfa384x_hostscan_result *results, *prev;
@@ -126650,7 +127399,7 @@
  			PDEBUG2(DEBUG_EXTRA, " %02x", buf[i]);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-02-05 22:16:24.000000000 -0500
 @@ -5,52 +5,52 @@
  #include <net/ieee80211_crypt.h>
  
@@ -126735,7 +127484,7 @@
  	PRISM2_RX_MONITOR, PRISM2_RX_MGMT, PRISM2_RX_NON_ASSOC,
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
 --- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-02-05 22:16:24.000000000 -0500
 @@ -84,7 +84,7 @@ static int prism2_get_datarates(struct n
  	if (len < 2)
  		return 0;
@@ -127001,7 +127750,7 @@
  	switch (param->u.mlme.cmd) {
 diff -up linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c
 --- linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-02-05 22:16:24.000000000 -0500
 @@ -27,6 +27,8 @@ static const struct pci_device_id b43_pc
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
@@ -127013,7 +127762,7 @@
  MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
 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-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-02-05 22:16:24.000000000 -0500
 @@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
  			   struct ssb_device *dev)
  {
@@ -127165,7 +127914,7 @@
  
 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-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-02-05 22:16:24.000000000 -0500
 @@ -872,14 +872,22 @@ EXPORT_SYMBOL(ssb_clockspeed);
  
  static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
@@ -127192,7 +127941,7 @@
  	return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
 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-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-02-05 22:16:24.000000000 -0500
 @@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
  	return t[crc ^ data];
  }
@@ -127639,7 +128388,7 @@
  		goto out_kfree;
 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-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-02-01 17:01:47.000000000 -0500
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-02-05 22:16:24.000000000 -0500
 @@ -332,4 +332,36 @@ Why:	This driver has been marked obsolet
  	2.4 or later kernels, provides richer features and is more robust.
  Who:	Stephen Hemminger <shemminger at linux-foundation.org>




More information about the fedora-extras-commits mailing list