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