rpms/kernel/F-7 git-wireless-dev.patch, 1.24, 1.25 kernel-2.6.spec, 1.3341, 1.3342 linux-2.6-wireless-pending.patch, 1.2, 1.3 linux-2.6-wireless.patch, 1.9, 1.10 linux-2.6-iwlwifi-fw-name-compat.patch, 1.1, NONE
John W. Linville (linville)
fedora-extras-commits at redhat.com
Tue Sep 18 15:08:32 UTC 2007
Author: linville
Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20526
Modified Files:
git-wireless-dev.patch kernel-2.6.spec
linux-2.6-wireless-pending.patch linux-2.6-wireless.patch
Removed Files:
linux-2.6-iwlwifi-fw-name-compat.patch
Log Message:
wireless updates
git-wireless-dev.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.24 -r 1.25 git-wireless-dev.patch
Index: git-wireless-dev.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/git-wireless-dev.patch,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- git-wireless-dev.patch 30 Aug 2007 21:54:14 -0000 1.24
+++ git-wireless-dev.patch 18 Sep 2007 15:08:24 -0000 1.25
@@ -1,5 +1,6 @@
---- linux-2.6.22.noarch/CREDITS.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/CREDITS 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/CREDITS.orig linux-2.6.22.noarch/CREDITS
+--- linux-2.6.22.noarch/CREDITS.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/CREDITS 2007-09-18 10:53:37.000000000 -0400
@@ -665,6 +665,11 @@ D: Minor updates to SCSI types, added /p
S: (ask for current address)
S: USA
@@ -66,8 +67,9 @@
N: Lars Wirzenius
E: liw at iki.fi
D: Linux System Administrator's Guide, author, former maintainer
---- linux-2.6.22.noarch/include/linux/nl80211.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/nl80211.h 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/include/linux/nl80211.h.orig linux-2.6.22.noarch/include/linux/nl80211.h
+--- linux-2.6.22.noarch/include/linux/nl80211.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/nl80211.h 2007-09-18 10:53:37.000000000 -0400
@@ -7,6 +7,201 @@
*/
@@ -327,8 +329,9 @@
+#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1)
+
#endif /* __LINUX_NL80211_H */
---- linux-2.6.22.noarch/include/linux/mod_devicetable.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/mod_devicetable.h 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/include/linux/mod_devicetable.h.orig linux-2.6.22.noarch/include/linux/mod_devicetable.h
+--- linux-2.6.22.noarch/include/linux/mod_devicetable.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/mod_devicetable.h 2007-09-18 10:53:37.000000000 -0400
@@ -333,4 +333,19 @@ struct parisc_device_id {
#define PA_HVERSION_ANY_ID 0xffff
#define PA_SVERSION_ANY_ID 0xffffffff
@@ -349,8 +352,9 @@
+#define SSB_ANY_REV 0xFF
+
#endif /* LINUX_MOD_DEVICETABLE_H */
---- linux-2.6.22.noarch/include/linux/ieee80211.h.orig 2007-08-30 17:36:08.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/ieee80211.h 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/include/linux/ieee80211.h.orig linux-2.6.22.noarch/include/linux/ieee80211.h
+--- linux-2.6.22.noarch/include/linux/ieee80211.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/ieee80211.h 2007-09-18 10:53:37.000000000 -0400
@@ -106,6 +106,75 @@ struct ieee80211_hdr {
} __attribute__ ((packed));
@@ -649,8 +653,9 @@
+};
+
#endif /* IEEE80211_H */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb_driver_chipcommon.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,396 @@
+#ifndef LINUX_SSB_CHIPCO_H_
+#define LINUX_SSB_CHIPCO_H_
@@ -1048,8 +1053,9 @@
+#endif /* CONFIG_SSB_SERIAL */
+
+#endif /* LINUX_SSB_CHIPCO_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_extif.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb_driver_extif.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_extif.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,204 @@
+/*
+ * Hardware-specific External Interface I/O core definitions
@@ -1255,8 +1261,9 @@
+
+#endif /* CONFIG_SSB_DRIVER_EXTIF */
+#endif /* LINUX_SSB_EXTIFCORE_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_mips.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb_driver_mips.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_mips.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,46 @@
+#ifndef LINUX_SSB_MIPSCORE_H_
+#define LINUX_SSB_MIPSCORE_H_
@@ -1304,8 +1311,9 @@
+#endif /* CONFIG_SSB_DRIVER_MIPS */
+
+#endif /* LINUX_SSB_MIPSCORE_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_regs.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb_regs.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_regs.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,292 @@
+#ifndef LINUX_SSB_REGS_H_
+#define LINUX_SSB_REGS_H_
@@ -1599,8 +1607,9 @@
+
+
+#endif /* LINUX_SSB_REGS_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_pci.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb_driver_pci.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_pci.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,106 @@
+#ifndef LINUX_SSB_PCICORE_H_
+#define LINUX_SSB_PCICORE_H_
@@ -1708,8 +1717,9 @@
+
+#endif /* CONFIG_SSB_DRIVER_PCICORE */
+#endif /* LINUX_SSB_PCICORE_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/include/linux/ssb/ssb.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb.h 2007-09-18 10:53:37.000000000 -0400
@@ -0,0 +1,424 @@
+#ifndef LINUX_SSB_H_
+#define LINUX_SSB_H_
@@ -2135,8 +2145,9 @@
+
+
+#endif /* LINUX_SSB_H_ */
---- linux-2.6.22.noarch/include/net/cfg80211.h.orig 2007-08-30 17:36:08.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/cfg80211.h 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/include/net/cfg80211.h.orig linux-2.6.22.noarch/include/net/cfg80211.h
+--- linux-2.6.22.noarch/include/net/cfg80211.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/net/cfg80211.h 2007-09-18 10:53:37.000000000 -0400
@@ -3,6 +3,7 @@
#include <linux/netlink.h>
@@ -2279,11 +2290,12 @@
+ u32 seq, int flags, u8 cmd);
+
#endif /* __NET_CFG80211_H */
---- linux-2.6.22.noarch/include/net/mac80211.h.orig 2007-08-30 17:36:08.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/mac80211.h 2007-08-30 17:37:10.000000000 -0400
-@@ -539,6 +539,9 @@ struct ieee80211_hw {
- * per-packet RC4 key with each TX frame when doing hwcrypto */
- #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
+diff -up linux-2.6.22.noarch/include/net/mac80211.h.orig linux-2.6.22.noarch/include/net/mac80211.h
+--- linux-2.6.22.noarch/include/net/mac80211.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/net/mac80211.h 2007-09-18 10:53:37.000000000 -0400
+@@ -563,6 +563,9 @@ struct ieee80211_hw {
+ * specified in the device's EEPROM */
+ #define IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED (1<<11)
+ /* The device capable of supporting 11n */
+#define IEEE80211_HW_SUPPORT_HT_MODE (1<<15)
@@ -2291,7 +2303,7 @@
u32 flags; /* hardware flags defined above */
/* Set to the size of a needed device specific skb headroom for TX skbs. */
-@@ -691,8 +694,7 @@ struct ieee80211_ops {
+@@ -708,8 +711,7 @@ struct ieee80211_ops {
* used if the wlan hardware or low-level driver implements PAE.
* 80211.o module will anyway filter frames based on authorization
* state, so this function pointer can be NULL if low-level driver does
@@ -2301,7 +2313,7 @@
int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
int authorized);
-@@ -752,8 +754,9 @@ struct ieee80211_ops {
+@@ -769,8 +771,9 @@ struct ieee80211_ops {
/* Get statistics of the current TX queue status. This is used to get
* number of currently queued packets (queue length), maximum queue
* size (limit), and total number of packets sent using each TX queue
@@ -2313,7 +2325,7 @@
int (*get_tx_stats)(struct ieee80211_hw *hw,
struct ieee80211_tx_queue_stats *stats);
-@@ -769,6 +772,22 @@ struct ieee80211_ops {
+@@ -786,6 +789,22 @@ struct ieee80211_ops {
* TSF synchronization. */
void (*reset_tsf)(struct ieee80211_hw *hw);
@@ -2336,8 +2348,9 @@
/* Setup beacon data for IBSS beacons. Unlike access point (Master),
* IBSS uses a fixed beacon frame which is configured using this
* function. This handler is required only for IBSS mode. */
---- linux-2.6.22.noarch/include/net/iw_handler.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/iw_handler.h 2007-08-30 17:37:10.000000000 -0400
+diff -up linux-2.6.22.noarch/include/net/iw_handler.h.orig linux-2.6.22.noarch/include/net/iw_handler.h
+--- linux-2.6.22.noarch/include/net/iw_handler.h.orig 2007-09-18 10:53:29.000000000 -0400
++++ linux-2.6.22.noarch/include/net/iw_handler.h 2007-09-18 10:53:37.000000000 -0400
@@ -431,7 +431,13 @@ struct iw_public_data {
* Those may be called only within the kernel.
*/
@@ -2353,8 +2366,9 @@
/* Send a single event to user space */
extern void wireless_send_event(struct net_device * dev,
---- linux-2.6.22.noarch/MAINTAINERS.orig 2007-08-30 17:36:08.000000000 -0400
-+++ linux-2.6.22.noarch/MAINTAINERS 2007-08-30 17:37:10.000000000 -0400
[...90097 lines suppressed...]
++static void rs_clear(void *priv)
++{
++ return;
+}
+
++
+static void *rs_alloc_sta(void *priv, gfp_t gfp)
+{
+ struct iwl_rate_scale_priv *rs_priv;
@@ -121750,11 +130388,6 @@
+ IWL_DEBUG_RATE("leave\n");
+}
+
-+static void rs_clear(void *priv)
-+{
-+ IWL_DEBUG_RATE("NOP\n");
-+}
-+
+/**
+ * rs_tx_status - Update rate control values based on Tx results
+ *
@@ -122249,8 +130882,7 @@
+
+ if (!local->rate_ctrl->ops->name ||
+ strcmp(local->rate_ctrl->ops->name, RS_NAME)) {
-+ IWL_WARNING("iwl-3945-rs not selected as rate control "
-+ "aglo!\n");
++ IWL_WARNING("iwl-3945-rs not selected as rate control algo!\n");
+ IWL_DEBUG_RATE("leave - mac80211 picked the wrong RC algo.\n");
+ return;
+ }
@@ -122304,19 +130936,20 @@
+ iwl_rates[rs_priv->start_rate].plcp);
+}
+
-+void iwl_rate_control_register(void)
++void iwl_rate_control_register(struct ieee80211_hw *hw)
+{
+ ieee80211_rate_control_register(&rs_ops);
+}
+
-+void iwl_rate_control_unregister(void)
++void iwl_rate_control_unregister(struct ieee80211_hw *hw)
+{
+ ieee80211_rate_control_unregister(&rs_ops);
+}
+
+
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/b43_pci_bridge.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/b43_pci_bridge.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/b43_pci_bridge.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,46 @@
+/*
+ * Broadcom 43xx PCI-SSB bridge module
@@ -122364,8 +130997,9 @@
+{
+ ssb_pcihost_unregister(&b43_pci_bridge_driver);
+}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/Makefile 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/Makefile
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/Makefile 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,18 @@
+# core
+ssb-y += main.o scan.o
@@ -122385,8 +131019,9 @@
+ssb-$(CONFIG_SSB_PCIHOST) += b43_pci_bridge.o
+
+obj-$(CONFIG_SSB) += ssb.o
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pcmcia.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/pcmcia.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pcmcia.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,271 @@
+/*
+ * Sonics Silicon Backplane
@@ -122659,8 +131294,9 @@
+error:
+ return -ENODEV;
+}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/main.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/main.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/main.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,1162 @@
+/*
+ * Sonics Silicon Backplane
@@ -123824,8 +132460,9 @@
+ bus_unregister(&ssb_bustype);
+}
+module_exit(ssb_modexit)
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pcihost_wrapper.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/pcihost_wrapper.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pcihost_wrapper.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,104 @@
+/*
+ * Sonics Silicon Backplane
@@ -123931,8 +132568,9 @@
+ return pci_register_driver(driver);
+}
+EXPORT_SYMBOL(ssb_pcihost_register);
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_mipscore.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/driver_mipscore.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_mipscore.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,223 @@
+/*
+ * Sonics Silicon Backplane
@@ -124157,8 +132795,9 @@
+ ssb_mips_serial_init(mcore);
+ ssb_mips_flash_detect(mcore);
+}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/ssb_private.h 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/ssb_private.h
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/ssb_private.h 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,136 @@
+#ifndef LINUX_SSB_PRIVATE_H_
+#define LINUX_SSB_PRIVATE_H_
@@ -124296,8 +132935,9 @@
+#endif /* CONFIG_SSB_PCIHOST */
+
+#endif /* LINUX_SSB_PRIVATE_H_ */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pci.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/pci.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pci.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,740 @@
+/*
+ * Sonics Silicon Backplane PCI-Hostbus related functions.
@@ -125039,8 +133679,9 @@
+out:
+ return err;
+}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_chipcommon.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/driver_chipcommon.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_chipcommon.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,446 @@
+/*
+ * Sonics Silicon Backplane
@@ -125488,8 +134129,9 @@
+ return nr_ports;
+}
+#endif /* CONFIG_SSB_SERIAL */
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/Kconfig 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/Kconfig
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/Kconfig 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,117 @@
+menu "Sonics Silicon Backplane"
+
@@ -125608,8 +134250,9 @@
+ If unsure, say N
+
+endmenu
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/scan.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/scan.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/scan.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,413 @@
+/*
+ * Sonics Silicon Backplane
@@ -126024,8 +134667,9 @@
+ ssb_iounmap(bus);
+ goto out;
+}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_extif.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/driver_extif.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_extif.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,129 @@
+/*
+ * Sonics Silicon Backplane
@@ -126156,8 +134800,9 @@
+ mask, value);
+}
+
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_pcicore.c 2007-08-30 17:37:10.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/ssb/driver_pcicore.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_pcicore.c 2007-09-18 10:53:38.000000000 -0400
@@ -0,0 +1,576 @@
+/*
+ * Sonics Silicon Backplane
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3341
retrieving revision 1.3342
diff -u -r1.3341 -r1.3342
--- kernel-2.6.spec 13 Sep 2007 22:21:49 -0000 1.3341
+++ kernel-2.6.spec 18 Sep 2007 15:08:25 -0000 1.3342
@@ -613,9 +613,8 @@
Patch682: linux-2.6-wireless-pending.patch
Patch683: linux-2.6-bcm43xx-pci-neuter.patch
Patch690: git-wireless-dev.patch
-Patch700: linux-2.6-iwlwifi-fw-name-compat.patch
-Patch701: linux-2.6-b43-module-alias.patch
-Patch702: linux-2.6-b43-use-old-fw.patch
+Patch700: linux-2.6-b43-module-alias.patch
+Patch701: linux-2.6-b43-use-old-fw.patch
Patch710: linux-2.6-e1000-ich9.patch
Patch711: linux-2.6-netdev-forcedeth-realtek-oui.patch
Patch713: linux-2.6-net-atl1-fix-typo-in-dma-setup.patch
@@ -1345,8 +1344,6 @@
# Add wireless stack and driver updates from wireless-dev
ApplyPatch git-wireless-dev.patch
-# temp compat patch for iwlwifi firmware filenames
-ApplyPatch linux-2.6-iwlwifi-fw-name-compat.patch
# avoid bcm3xx vs bcm43xx-mac80211 PCI ID conflicts
ApplyPatch linux-2.6-bcm43xx-pci-neuter.patch
# add module alias for "bcm43xx-mac80211"
@@ -2351,6 +2348,9 @@
%endif
%changelog
+* Tue Sep 18 2007 John W. Linville <linville at redhat.com>
+- Update bits from wireless-2.6 and wireless-dev
+
* Wed Sep 12 2007 Chuck Ebbert <cebbert at redhat.com>
- Linux 2.6.22.6 (official)
- libata: add option to disable DMA on PATA devices
linux-2.6-wireless-pending.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.2 -r 1.3 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-wireless-pending.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-wireless-pending.patch 30 Aug 2007 21:54:14 -0000 1.2
+++ linux-2.6-wireless-pending.patch 18 Sep 2007 15:08:25 -0000 1.3
@@ -1,5 +1,6 @@
---- linux-2.6.22.noarch/include/net/mac80211.h.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/mac80211.h 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/include/net/mac80211.h.orig linux-2.6.22.noarch/include/net/mac80211.h
+--- linux-2.6.22.noarch/include/net/mac80211.h.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/include/net/mac80211.h 2007-09-18 10:29:55.000000000 -0400
@@ -1,7 +1,9 @@
/*
- * Low-level hardware driver -- IEEE 802.11 driver (80211.o) interface
@@ -11,10 +12,49 @@
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
-@@ -192,13 +194,19 @@ struct ieee80211_tx_control {
+@@ -71,14 +73,13 @@ struct ieee80211_channel {
+ #define IEEE80211_RATE_SUPPORTED 0x00000010
+ #define IEEE80211_RATE_OFDM 0x00000020
+ #define IEEE80211_RATE_CCK 0x00000040
+-#define IEEE80211_RATE_TURBO 0x00000080
+ #define IEEE80211_RATE_MANDATORY 0x00000100
+
+ #define IEEE80211_RATE_CCK_2 (IEEE80211_RATE_CCK | IEEE80211_RATE_PREAMBLE2)
+ #define IEEE80211_RATE_MODULATION(f) \
+ (f & (IEEE80211_RATE_CCK | IEEE80211_RATE_OFDM))
+
+-/* Low-level driver should set PREAMBLE2, OFDM, CCK, and TURBO flags.
++/* Low-level driver should set PREAMBLE2, OFDM and CCK flags.
+ * BASIC, SUPPORTED, ERP, and MANDATORY flags are set in 80211.o based on the
+ * configuration. */
+ struct ieee80211_rate {
+@@ -99,12 +100,10 @@ struct ieee80211_rate {
+
+ /* 802.11g is backwards-compatible with 802.11b, so a wlan card can
+ * actually be both in 11b and 11g modes at the same time. */
+-enum {
++enum ieee80211_phymode {
+ MODE_IEEE80211A, /* IEEE 802.11a */
+ MODE_IEEE80211B, /* IEEE 802.11b only */
+- MODE_ATHEROS_TURBO, /* Atheros Turbo mode (2x.11a at 5 GHz) */
+ MODE_IEEE80211G, /* IEEE 802.11g (and 802.11b compatibility) */
+- MODE_ATHEROS_TURBOG, /* Atheros Turbo mode (2x.11g at 2.4 GHz) */
+
+ /* keep last */
+ NUM_IEEE80211_MODES
+@@ -165,7 +164,6 @@ struct ieee80211_low_level_stats {
+ /* Transmit control fields. This data structure is passed to low-level driver
+ * with each TX frame. The low-level driver is responsible for configuring
+ * the hardware to use given values (depending on what is supported). */
+-#define HW_KEY_IDX_INVALID -1
+
+ struct ieee80211_tx_control {
+ int tx_rate; /* Transmit rate, given as the hw specific value for the
+@@ -191,17 +189,21 @@ struct ieee80211_tx_control {
+ #define IEEE80211_TXCTL_REQUEUE (1<<7)
#define IEEE80211_TXCTL_FIRST_FRAGMENT (1<<8) /* this is a first fragment of
* the frame */
- #define IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY (1<<9)
+-#define IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY (1<<9)
+#define IEEE80211_TXCTL_LONG_RETRY_LIMIT (1<<10) /* this frame should be send
+ * using the through
+ * set_retry_limit configured
@@ -22,6 +62,8 @@
u32 flags; /* tx control flags defined
* above */
- u8 retry_limit; /* 1 = only first attempt, 2 = one retry, .. */
++ u8 key_idx; /* keyidx from hw->set_key(), undefined if
++ * IEEE80211_TXCTL_DO_NOT_ENCRYPT is set */
+ u8 retry_limit; /* 1 = only first attempt, 2 = one retry, ..
+ * This could be used when set_retry_limit
+ * is not implemented by the driver */
@@ -29,12 +71,78 @@
u8 antenna_sel_tx; /* 0 = default/diversity, 1 = Ant0, 2 = Ant1 */
- s8 key_idx; /* -1 = do not encrypt, >= 0 keyidx from
- * hw->set_key() */
-+ s8 key_idx; /* HW_KEY_IDX_INVALID = do not encrypt,
-+ * other values: keyidx from hw->set_key() */
u8 icv_len; /* length of the ICV/MIC field in octets */
u8 iv_len; /* length of the IV field in octets */
- u8 tkip_key[16]; /* generated phase2/phase1 key for hw TKIP */
-@@ -288,28 +296,10 @@ struct ieee80211_conf {
+- u8 tkip_key[16]; /* generated phase2/phase1 key for hw TKIP */
+ u8 queue; /* hardware queue to use for this frame;
+ * 0 = highest, hw->queues-1 = lowest */
+ u8 sw_retry_attempt; /* number of times hw has tried to
+@@ -219,22 +221,56 @@ struct ieee80211_tx_control {
+ int ifindex; /* internal */
+ };
+
+-/* Receive status. The low-level driver should provide this information
+- * (the subset supported by hardware) to the 802.11 code with each received
+- * frame. */
++
++/**
++ * enum mac80211_rx_flags - receive flags
++ *
++ * These flags are used with the @flag member of &struct ieee80211_rx_status.
++ * @RX_FLAG_MMIC_ERROR: Michael MIC error was reported on this frame.
++ * Use together with %RX_FLAG_MMIC_STRIPPED.
++ * @RX_FLAG_DECRYPTED: This frame was decrypted in hardware.
++ * @RX_FLAG_RADIOTAP: This frame starts with a radiotap header.
++ * @RX_FLAG_MMIC_STRIPPED: the Michael MIC is stripped off this frame,
++ * verification has been done by the hardware.
++ * @RX_FLAG_IV_STRIPPED: The IV/ICV are stripped from this frame.
++ * If this flag is set, the stack cannot do any replay detection
++ * hence the driver or hardware will have to do that.
++ */
++enum mac80211_rx_flags {
++ RX_FLAG_MMIC_ERROR = 1<<0,
++ RX_FLAG_DECRYPTED = 1<<1,
++ RX_FLAG_RADIOTAP = 1<<2,
++ RX_FLAG_MMIC_STRIPPED = 1<<3,
++ RX_FLAG_IV_STRIPPED = 1<<4,
++};
++
++/**
++ * struct ieee80211_rx_status - receive status
++ *
++ * The low-level driver should provide this information (the subset
++ * supported by hardware) to the 802.11 code with each received
++ * frame.
++ * @mactime: MAC timestamp as defined by 802.11
++ * @freq: frequency the radio was tuned to when receiving this frame, in MHz
++ * @channel: channel the radio was tuned to
++ * @phymode: active PHY mode
++ * @ssi: signal strength when receiving this frame
++ * @signal: used as 'qual' in statistics reporting
++ * @noise: PHY noise when receiving this frame
++ * @antenna: antenna used
++ * @rate: data rate
++ * @flag: %RX_FLAG_*
++ */
+ struct ieee80211_rx_status {
+ u64 mactime;
+- int freq; /* receive frequency in Mhz */
++ int freq;
+ int channel;
+ int phymode;
+ int ssi;
+- int signal; /* used as qual in statistics reporting */
++ int signal;
+ int noise;
+ int antenna;
+ int rate;
+-#define RX_FLAG_MMIC_ERROR (1<<0)
+-#define RX_FLAG_DECRYPTED (1<<1)
+-#define RX_FLAG_RADIOTAP (1<<2)
+ int flag;
+ };
+
+@@ -288,28 +324,10 @@ struct ieee80211_conf {
u8 power_level; /* transmit power limit for current
* regulatory domain; in dBm */
u8 antenna_max; /* maximum antenna gain */
@@ -63,39 +171,69 @@
};
/**
-@@ -402,29 +392,41 @@ struct ieee80211_if_conf {
+@@ -402,40 +420,86 @@ struct ieee80211_if_conf {
struct ieee80211_tx_control *beacon_control;
};
-typedef enum { ALG_NONE, ALG_WEP, ALG_TKIP, ALG_CCMP, ALG_NULL }
-ieee80211_key_alg;
-+typedef enum {
++/**
++ * enum ieee80211_key_alg - key algorithm
++ * @ALG_NONE: Unset key algorithm, will never be passed to the driver
++ * @ALG_WEP: WEP40 or WEP104
++ * @ALG_TKIP: TKIP
++ * @ALG_CCMP: CCMP (AES)
++ */
++typedef enum ieee80211_key_alg {
+ ALG_NONE,
+ ALG_WEP,
+ ALG_TKIP,
+ ALG_CCMP,
+} ieee80211_key_alg;
-+/*
-+ * This flag indiciates that the station this key is being
-+ * configured for may use QoS. If your hardware cannot handle
-+ * that situation it should reject that key.
-+ */
-+#define IEEE80211_KEY_FLAG_WMM_STA (1<<0)
- struct ieee80211_key_conf {
-+ /*
-+ * To be set by the driver to the key index it would like to
-+ * get in the ieee80211_tx_control.key_idx which defaults
-+ * to HW_KEY_IDX_INVALID so that shouldn't be used.
-+ */
[...4085 lines suppressed...]
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/tx.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/tx.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/tx.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/tx.c 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/tx.c 2007-09-18 10:29:46.000000000 -0400
@@ -58,7 +58,6 @@ static u32 convert_radiotap_rate_to_mv(u
*/
static int SendSinglePacket(wlan_private * priv, struct sk_buff *skb)
@@ -24651,8 +25194,9 @@
}
}
EXPORT_SYMBOL_GPL(libertas_send_tx_feedback);
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/if_cs.c 2007-08-30 17:32:02.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/net/wireless/libertas/if_cs.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/if_cs.c 2007-09-18 10:29:46.000000000 -0400
@@ -0,0 +1,961 @@
+/*
+
@@ -25615,8 +26159,9 @@
+
+module_init(if_cs_init);
+module_exit(if_cs_exit);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/thread.h.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/thread.h
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/thread.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/thread.h 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/thread.h 2007-09-18 10:29:46.000000000 -0400
@@ -1,52 +0,0 @@
-#ifndef __WLAN_THREAD_H_
-#define __WLAN_THREAD_H_
@@ -25670,8 +26215,9 @@
-}
-
-#endif
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/if_usb.h.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/if_usb.h
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/if_usb.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/if_usb.h 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/if_usb.h 2007-09-18 10:29:46.000000000 -0400
@@ -38,7 +38,7 @@ struct bootcmdrespStr
/* read callback private data */
@@ -25706,8 +26252,9 @@
-int if_usb_issue_boot_command(wlan_private *priv, int ivalue);
-
#endif
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/ethtool.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/ethtool.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/ethtool.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/ethtool.c 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/ethtool.c 2007-09-18 10:29:46.000000000 -0400
@@ -60,8 +60,7 @@ static int libertas_ethtool_get_eeprom(s
// mutex_lock(&priv->mutex);
@@ -25741,8 +26288,9 @@
if (ret) {
ret = 0;
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/decl.h.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/decl.h
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/decl.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/decl.h 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/decl.h 2007-09-18 10:29:46.000000000 -0400
@@ -15,14 +15,9 @@ struct wlan_private;
struct sk_buff;
struct net_device;
@@ -25799,8 +26347,9 @@
+int libertas_reset_device(wlan_private *priv);
#endif /* _WLAN_DECL_H_ */
---- linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h.orig linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h
+--- linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/rtl8187.h 2007-09-18 10:29:46.000000000 -0400
@@ -67,6 +67,7 @@ struct rtl8187_priv {
struct rtl818x_csr *map;
void (*rf_init)(struct ieee80211_hw *);
@@ -25809,8 +26358,9 @@
/* rtl8187 specific */
struct ieee80211_channel channels[14];
---- linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c
+--- linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2007-09-18 10:29:46.000000000 -0400
@@ -1753,7 +1753,7 @@ prism54_get_oid(struct net_device *ndev,
int rvalue;
enum oid_num_t n = dwrq->flags;
@@ -25838,8 +26388,9 @@
}
void
+diff -up linux-2.6.22.noarch/drivers/net/wireless/prism54/oid_mgt.c.orig linux-2.6.22.noarch/drivers/net/wireless/prism54/oid_mgt.c
--- linux-2.6.22.noarch/drivers/net/wireless/prism54/oid_mgt.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/prism54/oid_mgt.c 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/prism54/oid_mgt.c 2007-09-18 10:29:46.000000000 -0400
@@ -244,13 +244,11 @@ mgt_init(islpci_private *priv)
/* Alloc the cache */
for (i = 0; i < OID_NUM_LAST; i++) {
@@ -25855,8 +26406,9 @@
} else
priv->mib[i] = NULL;
}
---- linux-2.6.22.noarch/drivers/net/wireless/Kconfig.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/Kconfig 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/Kconfig.orig linux-2.6.22.noarch/drivers/net/wireless/Kconfig
+--- linux-2.6.22.noarch/drivers/net/wireless/Kconfig.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/Kconfig 2007-09-18 10:29:46.000000000 -0400
@@ -63,11 +63,6 @@ config WAVELAN
a Radio LAN (wireless Ethernet-like Local Area Network) using the
radio frequencies 900 MHz and 2.4 GHz.
@@ -25991,8 +26543,9 @@
config PCMCIA_WL3501
tristate "Planet WL3501 PCMCIA cards"
depends on EXPERIMENTAL && PCMCIA && WLAN_80211
---- linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c.orig linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c
+--- linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c 2007-09-18 10:29:46.000000000 -0400
@@ -859,7 +859,7 @@ static int wl3501_esbq_confirm(struct wl
static void wl3501_online(struct net_device *dev)
@@ -26297,8 +26850,30 @@
if (link->open) {
wl3501_reset(dev);
netif_device_attach(dev);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c.orig linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+--- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c 2007-09-18 10:30:24.000000000 -0400
+@@ -2380,7 +2380,7 @@ static int bcm43xx_chip_init(struct bcm4
+ goto err_gpio_cleanup;
+ bcm43xx_radio_turn_on(bcm);
+ bcm->radio_hw_enable = bcm43xx_is_hw_radio_enabled(bcm);
+- dprintk(KERN_INFO PFX "Radio %s by hardware\n",
++ printk(KERN_INFO PFX "Radio %s by hardware\n",
+ (bcm->radio_hw_enable == 0) ? "disabled" : "enabled");
+
+ bcm43xx_write16(bcm, 0x03E6, 0x0000);
+@@ -3129,7 +3129,7 @@ static void bcm43xx_periodic_every1sec(s
+ radio_hw_enable = bcm43xx_is_hw_radio_enabled(bcm);
+ if (unlikely(bcm->radio_hw_enable != radio_hw_enable)) {
+ bcm->radio_hw_enable = radio_hw_enable;
+- dprintk(KERN_INFO PFX "Radio hardware status changed to %s\n",
++ printk(KERN_INFO PFX "Radio hardware status changed to %s\n",
+ (radio_hw_enable == 0) ? "disabled" : "enabled");
+ bcm43xx_leds_update(bcm, 0);
+ }
+diff -up linux-2.6.22.noarch/drivers/net/wireless/arlan-proc.c.orig linux-2.6.22.noarch/drivers/net/wireless/arlan-proc.c
--- linux-2.6.22.noarch/drivers/net/wireless/arlan-proc.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/arlan-proc.c 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/arlan-proc.c 2007-09-18 10:29:46.000000000 -0400
@@ -435,7 +435,7 @@ static int arlan_sysctl_info(ctl_table *
goto final;
}
@@ -26362,8 +26937,9 @@
arlan_command(arlan_device[devnum], ARLAN_COMMAND_CLEAN_AND_RESET);
} else
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_wlan.h 2007-09-18 10:29:46.000000000 -0400
@@ -3,6 +3,7 @@
#include <linux/wireless.h>
@@ -26381,8 +26957,9 @@
u16 infofid; /* MAC buffer id for info frame */
/* txfid, intransmitfid, next_txtid, and next_alloc are protected by
* txfidlock */
---- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c
+--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c 2007-09-18 10:29:46.000000000 -0400
@@ -272,7 +272,7 @@ static int sandisk_enable_wireless(struc
{
int res, ret = 0;
@@ -26392,8 +26969,9 @@
local_info_t *local = iface->local;
tuple_t tuple;
cisparse_t *parse = NULL;
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c 2007-08-30 17:32:02.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_hw.c 2007-09-18 10:29:46.000000000 -0400
@@ -825,7 +825,7 @@ static int hfa384x_get_rid(struct net_de
local->hw_downloading)
return -ENODEV;
@@ -26463,8 +27041,9 @@
local = iface->local;
/* Send disconnect event, e.g., to trigger reassociation after resume
---- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2007-08-30 17:28:10.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2007-08-30 17:32:02.000000000 -0400
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
+--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2007-09-18 10:28:11.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2007-09-18 10:29:46.000000000 -0400
@@ -3088,7 +3088,7 @@ static int prism2_ioctl_priv_download(lo
static int prism2_set_genericelement(struct net_device *dev, u8 *elem,
size_t len)
linux-2.6-wireless.patch:
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/linux-2.6-wireless.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- linux-2.6-wireless.patch 30 Aug 2007 21:54:14 -0000 1.9
+++ linux-2.6-wireless.patch 18 Sep 2007 15:08:25 -0000 1.10
@@ -1,5 +1,6 @@
+diff -up linux-2.6.22.noarch/include/linux/ieee80211.h.orig linux-2.6.22.noarch/include/linux/ieee80211.h
--- linux-2.6.22.noarch/include/linux/ieee80211.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/ieee80211.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/ieee80211.h 2007-09-18 10:10:25.000000000 -0400
@@ -227,6 +227,17 @@ struct ieee80211_cts {
#define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10)
#define WLAN_CAPABILITY_DSSS_OFDM (1<<13)
@@ -18,8 +19,9 @@
/* Status codes */
enum ieee80211_statuscode {
WLAN_STATUS_SUCCESS = 0,
+diff -up linux-2.6.22.noarch/include/net/cfg80211.h.orig linux-2.6.22.noarch/include/net/cfg80211.h
--- linux-2.6.22.noarch/include/net/cfg80211.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/cfg80211.h 2007-08-30 17:22:48.000000000 -0400
++++ linux-2.6.22.noarch/include/net/cfg80211.h 2007-09-18 10:10:25.000000000 -0400
@@ -11,6 +11,44 @@
* Copyright 2006 Johannes Berg <johannes at sipsolutions.net>
*/
@@ -65,8 +67,9 @@
/* from net/wireless.h */
struct wiphy;
+diff -up linux-2.6.22.noarch/include/net/mac80211.h.orig linux-2.6.22.noarch/include/net/mac80211.h
--- linux-2.6.22.noarch/include/net/mac80211.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/mac80211.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/include/net/mac80211.h 2007-09-18 10:10:25.000000000 -0400
@@ -347,9 +347,16 @@ enum ieee80211_if_types {
* @mac_addr: pointer to MAC address of the interface. This pointer is valid
* until the interface is removed (i.e. it cannot be used after
@@ -113,8 +116,9 @@
/* Given an sk_buff with a raw 802.11 header at the data pointer this function
* returns the 802.11 header length in bytes (not including encryption
* headers). If the data in the sk_buff is too short to contain a valid 802.11
+diff -up linux-2.6.22.noarch/net/ieee80211/ieee80211_wx.c.orig linux-2.6.22.noarch/net/ieee80211/ieee80211_wx.c
--- linux-2.6.22.noarch/net/ieee80211/ieee80211_wx.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/ieee80211/ieee80211_wx.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/ieee80211/ieee80211_wx.c 2007-09-18 10:10:25.000000000 -0400
@@ -90,14 +90,11 @@ static char *ieee80211_translate_scan(st
}
@@ -132,8 +136,9 @@
start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN);
/* Add encryption capability */
---- linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c.orig 2007-08-30 17:18:45.000000000 -0400
-+++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c 2007-08-30 17:19:20.000000000 -0400
+diff -up linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c.orig linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c
+--- linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c.orig 2007-09-18 10:09:24.000000000 -0400
++++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c 2007-09-18 10:10:25.000000000 -0400
@@ -271,8 +271,11 @@ ieee80211softmac_assoc_work(struct work_
*/
dprintk(KERN_INFO PFX "Associate: Scanning for networks first.\n");
@@ -147,8 +152,9 @@
goto out;
} else {
mac->associnfo.associating = 0;
+diff -up linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_module.c.orig linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_module.c
--- linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_module.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_module.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_module.c 2007-09-18 10:10:25.000000000 -0400
@@ -456,18 +456,13 @@ void
ieee80211softmac_add_network_locked(struct ieee80211softmac_device *mac,
struct ieee80211softmac_network *add_net)
@@ -208,8 +214,9 @@
if (softmac_net->essid.len == essid->len &&
!memcmp(softmac_net->essid.data, essid->data, essid->len))
return softmac_net;
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c.orig linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c
--- linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c 2007-09-18 10:10:25.000000000 -0400
@@ -157,6 +157,8 @@ void ieee80211_if_set_type(struct net_de
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
int oldtype = sdata->type;
@@ -227,8 +234,9 @@
break;
default:
printk(KERN_WARNING "%s: %s: Unknown interface type 0x%x",
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c.orig linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c
--- linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c 2007-09-18 10:10:25.000000000 -0400
@@ -27,20 +27,6 @@
#include "aes_ccm.h"
#include "debugfs_key.h"
@@ -739,8 +747,9 @@
(iw_handler) ieee80211_ioctl_siwrts, /* SIOCSIWRTS */
(iw_handler) ieee80211_ioctl_giwrts, /* SIOCGIWRTS */
(iw_handler) ieee80211_ioctl_siwfrag, /* SIOCSIWFRAG */
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_rate.c.orig linux-2.6.22.noarch/net/mac80211/ieee80211_rate.c
--- linux-2.6.22.noarch/net/mac80211/ieee80211_rate.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_rate.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_rate.c 2007-09-18 10:10:25.000000000 -0400
@@ -24,11 +24,10 @@ int ieee80211_rate_control_register(stru
{
struct rate_control_alg *alg;
@@ -754,8 +763,9 @@
alg->ops = ops;
mutex_lock(&rate_ctrl_mutex);
+diff -up linux-2.6.22.noarch/net/mac80211/Makefile.orig linux-2.6.22.noarch/net/mac80211/Makefile
--- linux-2.6.22.noarch/net/mac80211/Makefile.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/Makefile 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/Makefile 2007-09-18 10:10:25.000000000 -0400
@@ -13,6 +13,7 @@ mac80211-objs := \
ieee80211_iface.o \
ieee80211_rate.o \
@@ -764,8 +774,9 @@
tkip.o \
aes_ccm.o \
wme.o \
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/net/mac80211/regdomain.c 2007-08-30 17:19:20.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/net/mac80211/regdomain.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/net/mac80211/regdomain.c 2007-09-18 10:10:25.000000000 -0400
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -925,8 +936,9 @@
+ channel_range = ieee80211_mkk_channels;
+}
+
+diff -up linux-2.6.22.noarch/net/mac80211/hostapd_ioctl.h.orig linux-2.6.22.noarch/net/mac80211/hostapd_ioctl.h
--- linux-2.6.22.noarch/net/mac80211/hostapd_ioctl.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/hostapd_ioctl.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/hostapd_ioctl.h 2007-09-18 10:10:25.000000000 -0400
@@ -26,24 +26,16 @@
* mess shall be deleted completely. */
enum {
@@ -952,8 +964,9 @@
PRISM2_PARAM_TX_POWER_REDUCTION = 1022,
PRISM2_PARAM_KEY_TX_RX_THRESHOLD = 1024,
PRISM2_PARAM_DEFAULT_WEP_ONLY = 1026,
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_common.h.orig linux-2.6.22.noarch/net/mac80211/ieee80211_common.h
--- linux-2.6.22.noarch/net/mac80211/ieee80211_common.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_common.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_common.h 2007-09-18 10:10:25.000000000 -0400
@@ -47,21 +47,16 @@ enum ieee80211_msg_type {
ieee80211_msg_normal = 0,
ieee80211_msg_tx_callback_ack = 1,
@@ -978,8 +991,9 @@
struct ieee80211_msg_key_notification {
int tx_rx_count;
char ifname[IFNAMSIZ];
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211.c.orig linux-2.6.22.noarch/net/mac80211/ieee80211.c
--- linux-2.6.22.noarch/net/mac80211/ieee80211.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211.c 2007-08-30 17:26:39.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211.c 2007-09-18 10:11:06.000000000 -0400
@@ -24,6 +24,7 @@
#include <linux/compiler.h>
#include <linux/bitmap.h>
@@ -1663,8 +1677,30 @@
return 0;
}
+@@ -4981,7 +5259,7 @@ static void __exit ieee80211_exit(void)
+ }
+
+
+-module_init(ieee80211_init);
++subsys_initcall(ieee80211_init);
+ module_exit(ieee80211_exit);
+
+ MODULE_DESCRIPTION("IEEE 802.11 subsystem");
+diff -up linux-2.6.22.noarch/net/mac80211/wme.c.orig linux-2.6.22.noarch/net/mac80211/wme.c
+--- linux-2.6.22.noarch/net/mac80211/wme.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/wme.c 2007-09-18 10:11:06.000000000 -0400
+@@ -424,7 +424,7 @@ static int wme_qdiscop_init(struct Qdisc
+ skb_queue_head_init(&q->requeued[i]);
+ q->queues[i] = qdisc_create_dflt(qd->dev, &pfifo_qdisc_ops,
+ qd->handle);
+- if (q->queues[i] == 0) {
++ if (!q->queues[i]) {
+ q->queues[i] = &noop_qdisc;
+ printk(KERN_ERR "%s child qdisc %i creation failed", dev->name, i);
+ }
+diff -up linux-2.6.22.noarch/net/mac80211/rc80211_simple.c.orig linux-2.6.22.noarch/net/mac80211/rc80211_simple.c
--- linux-2.6.22.noarch/net/mac80211/rc80211_simple.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/rc80211_simple.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/rc80211_simple.c 2007-09-18 10:11:06.000000000 -0400
@@ -187,9 +187,13 @@ static void rate_control_simple_tx_statu
}
#endif
@@ -1703,8 +1739,18 @@
}
}
+@@ -425,7 +431,7 @@ static void __exit rate_control_simple_e
+ }
+
+
+-module_init(rate_control_simple_init);
++subsys_initcall(rate_control_simple_init);
+ module_exit(rate_control_simple_exit);
+
+ MODULE_DESCRIPTION("Simple rate control algorithm for ieee80211");
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_i.h.orig linux-2.6.22.noarch/net/mac80211/ieee80211_i.h
--- linux-2.6.22.noarch/net/mac80211/ieee80211_i.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_i.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_i.h 2007-09-18 10:10:25.000000000 -0400
@@ -99,6 +99,12 @@ struct ieee80211_sta_bss {
int probe_resp;
unsigned long last_update;
@@ -1787,8 +1833,9 @@
/* for wiphy privid */
extern void *mac80211_wiphy_privid;
+diff -up linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c
--- linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c 2007-08-30 17:26:39.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_sta.c 2007-09-18 10:10:25.000000000 -0400
@@ -25,7 +25,6 @@
#include <linux/wireless.h>
#include <linux/random.h>
@@ -2026,8 +2073,9 @@
return -1;
}
+diff -up linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c.orig linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c
--- linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/debugfs_netdev.c 2007-09-18 10:10:25.000000000 -0400
@@ -118,7 +118,7 @@ static ssize_t ieee80211_if_fmt_flags(
sdata->u.sta.authenticated ? "AUTH\n" : "",
sdata->u.sta.associated ? "ASSOC\n" : "",
@@ -2076,16 +2124,18 @@
return 0;
}
+diff -up linux-2.6.22.noarch/net/wireless/Makefile.orig linux-2.6.22.noarch/net/wireless/Makefile
--- linux-2.6.22.noarch/net/wireless/Makefile.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/net/wireless/Makefile 2007-08-30 17:21:45.000000000 -0400
++++ linux-2.6.22.noarch/net/wireless/Makefile 2007-09-18 10:10:25.000000000 -0400
@@ -1,4 +1,4 @@
obj-$(CONFIG_WIRELESS_EXT) += wext.o
obj-$(CONFIG_CFG80211) += cfg80211.o
-cfg80211-y += core.o sysfs.o
+cfg80211-y += core.o sysfs.o radiotap.o
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/net/wireless/radiotap.c 2007-08-30 17:21:49.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/net/wireless/radiotap.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/net/wireless/radiotap.c 2007-09-18 10:10:25.000000000 -0400
@@ -0,0 +1,257 @@
+/*
+ * Radiotap parser
@@ -2344,8 +2394,39 @@
+ return -ENOENT;
+}
+EXPORT_SYMBOL(ieee80211_radiotap_iterator_next);
+diff -up linux-2.6.22.noarch/net/wireless/core.c.orig linux-2.6.22.noarch/net/wireless/core.c
+--- linux-2.6.22.noarch/net/wireless/core.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/wireless/core.c 2007-09-18 10:11:06.000000000 -0400
+@@ -213,7 +213,7 @@ out_fail_notifier:
+ out_fail_sysfs:
+ return err;
+ }
+-module_init(cfg80211_init);
++subsys_initcall(cfg80211_init);
+
+ static void cfg80211_exit(void)
+ {
+diff -up linux-2.6.22.noarch/net/wireless/sysfs.c.orig linux-2.6.22.noarch/net/wireless/sysfs.c
+--- linux-2.6.22.noarch/net/wireless/sysfs.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/wireless/sysfs.c 2007-09-18 10:11:06.000000000 -0400
+@@ -52,12 +52,14 @@ static void wiphy_dev_release(struct dev
+ cfg80211_dev_free(rdev);
+ }
+
++#ifdef CONFIG_HOTPLUG
+ static int wiphy_uevent(struct device *dev, char **envp,
+ int num_envp, char *buf, int size)
+ {
+ /* TODO, we probably need stuff here */
+ return 0;
+ }
++#endif
+
+ struct class ieee80211_class = {
+ .name = "ieee80211",
+diff -up linux-2.6.22.noarch/drivers/net/wireless/airo.c.orig linux-2.6.22.noarch/drivers/net/wireless/airo.c
--- linux-2.6.22.noarch/drivers/net/wireless/airo.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/airo.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/airo.c 2007-09-18 10:10:25.000000000 -0400
@@ -52,6 +52,8 @@
#include "airo.h"
@@ -2961,8 +3042,9 @@
return -EIO;
return 0;
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.c 2007-09-18 10:10:25.000000000 -0400
@@ -49,8 +49,9 @@ void zd_chip_clear(struct zd_chip *chip)
ZD_MEMCLEAR(chip, sizeof(*chip));
}
@@ -3143,8 +3225,9 @@
return 0;
ZD_ASSERT(mutex_is_locked(&chip->mutex));
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/Makefile.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/Makefile
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/Makefile.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/Makefile 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/Makefile 2007-09-18 10:10:25.000000000 -0400
@@ -3,7 +3,7 @@ obj-$(CONFIG_ZD1211RW) += zd1211rw.o
zd1211rw-objs := zd_chip.o zd_ieee80211.o \
zd_mac.o zd_netdev.o \
@@ -3154,8 +3237,9 @@
zd_rf.o zd_usb.o zd_util.o
ifeq ($(CONFIG_ZD1211RW_DEBUG),y)
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.h.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.h
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.h 2007-09-18 10:10:25.000000000 -0400
@@ -26,7 +26,7 @@
#define AL2210_RF 0x7
#define MAXIM_NEW_RF 0x8
@@ -3217,8 +3301,9 @@
+int zd_rf_init_uw2453(struct zd_rf *rf);
#endif /* _ZD_RF_H */
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.h.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.h
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_chip.h 2007-09-18 10:10:25.000000000 -0400
@@ -608,6 +608,9 @@ enum {
#define CR_ZD1211B_TXOP CTL_REG(0x0b20)
#define CR_ZD1211B_RETRY_MAX CTL_REG(0x0b28)
@@ -3272,8 +3357,9 @@
int zd_write_mac_addr(struct zd_chip *chip, const u8 *mac_addr);
int zd_chip_switch_radio_on(struct zd_chip *chip);
int zd_chip_switch_radio_off(struct zd_chip *chip);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al2230.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al2230.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al2230.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al2230.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al2230.c 2007-09-18 10:10:25.000000000 -0400
@@ -21,6 +21,8 @@
#include "zd_usb.h"
#include "zd_chip.h"
@@ -3335,8 +3421,9 @@
+ rf->patch_cck_gain = 1;
return 0;
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_rf2959.c 2007-09-18 10:10:25.000000000 -0400
@@ -265,7 +265,7 @@ int zd_rf_init_rf2959(struct zd_rf *rf)
{
struct zd_chip *chip = zd_rf_to_chip(rf);
@@ -3346,8 +3433,9 @@
dev_err(zd_chip_dev(chip),
"RF2959 is currently not supported for ZD1211B"
" devices\n");
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.h.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.h
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.h 2007-09-18 10:10:25.000000000 -0400
@@ -188,6 +188,7 @@ struct zd_usb {
struct zd_usb_rx rx;
struct zd_usb_tx tx;
@@ -3365,8 +3453,9 @@
extern struct workqueue_struct *zd_workqueue;
#endif /* _ZD_USB_H */
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf.c 2007-09-18 10:10:25.000000000 -0400
@@ -34,7 +34,7 @@ static const char * const rfs[] = {
[AL2210_RF] = "AL2210_RF",
[MAXIM_NEW_RF] = "MAXIM_NEW_RF",
@@ -3433,8 +3522,9 @@
rf->type = type;
r = zd_chip_lock_phy_regs(chip);
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c 2007-08-30 17:19:20.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_uw2453.c 2007-09-18 10:10:25.000000000 -0400
@@ -0,0 +1,534 @@
+/* zd_rf_uw2453.c: Functions for the UW2453 RF controller
+ *
@@ -3970,8 +4060,9 @@
+ return 0;
+}
+
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.h.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.h
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.h 2007-09-18 10:10:25.000000000 -0400
@@ -189,7 +189,8 @@ int zd_mac_init(struct zd_mac *mac,
struct usb_interface *intf);
void zd_mac_clear(struct zd_mac *mac);
@@ -3982,8 +4073,9 @@
int zd_mac_open(struct net_device *netdev);
int zd_mac_stop(struct net_device *netdev);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al7230b.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al7230b.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al7230b.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al7230b.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_rf_al7230b.c 2007-09-18 10:10:25.000000000 -0400
@@ -473,7 +473,7 @@ int zd_rf_init_al7230b(struct zd_rf *rf)
{
struct zd_chip *chip = zd_rf_to_chip(rf);
@@ -4001,8 +4093,9 @@
}
rf->switch_radio_off = al7230b_switch_radio_off;
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_usb.c 2007-09-18 10:10:25.000000000 -0400
@@ -15,7 +15,6 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
@@ -4214,8 +4307,9 @@
if (r) {
dev_dbg_f(&intf->dev,
"couldn't initialize mac. Error number %d\n", r);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c
--- linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/zd1211rw/zd_mac.c 2007-09-18 10:10:25.000000000 -0400
@@ -86,38 +86,46 @@ out:
return r;
}
@@ -4337,8 +4431,9 @@
packet_length - frag_len : packet_length);
/*
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/wext.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/wext.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/wext.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/wext.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/wext.c 2007-09-18 10:10:25.000000000 -0400
@@ -1719,9 +1719,6 @@ static int wlan_set_encodeext(struct net
pkey->type = KEY_TYPE_ID_TKIP;
} else if (alg == IW_ENCODE_ALG_CCMP) {
@@ -4349,8 +4444,9 @@
}
/* If WPA isn't enabled yet, do that now */
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/rx.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/rx.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/rx.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/rx.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/rx.c 2007-09-18 10:10:25.000000000 -0400
@@ -439,7 +439,6 @@ static int process_rxed_802_11_packet(wl
ret = 0;
@@ -4359,8 +4455,9 @@
lbs_deb_leave_args(LBS_DEB_RX, "ret %d", ret);
return ret;
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/main.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/main.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/main.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/main.c 2007-09-18 10:10:25.000000000 -0400
@@ -613,6 +613,7 @@ static int wlan_service_main_thread(void
init_waitqueue_entry(&wait, current);
@@ -4369,8 +4466,9 @@
for (;;) {
lbs_deb_thread( "main-thread 111: intcounter=%d "
"currenttxskb=%p dnld_sent=%d\n",
+diff -up linux-2.6.22.noarch/drivers/net/wireless/libertas/cmd.c.orig linux-2.6.22.noarch/drivers/net/wireless/libertas/cmd.c
--- linux-2.6.22.noarch/drivers/net/wireless/libertas/cmd.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/libertas/cmd.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/libertas/cmd.c 2007-09-18 10:10:25.000000000 -0400
@@ -240,7 +240,7 @@ static int wlan_cmd_802_11_enable_rsn(wl
if (*enable)
penableRSN->enable = cpu_to_le16(cmd_enable_rsn);
@@ -4380,8 +4478,9 @@
}
lbs_deb_leave(LBS_DEB_CMD);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/ipw2100.c.orig linux-2.6.22.noarch/drivers/net/wireless/ipw2100.c
--- linux-2.6.22.noarch/drivers/net/wireless/ipw2100.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/ipw2100.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/ipw2100.c 2007-09-18 10:10:25.000000000 -0400
@@ -1768,7 +1768,8 @@ static int ipw2100_up(struct ipw2100_pri
if (priv->stop_rf_kill) {
@@ -4443,8 +4542,9 @@
break;
default:
timeout = timeout_duration[level - 1] / 1000;
+diff -up linux-2.6.22.noarch/drivers/net/wireless/prism54/islpci_hotplug.c.orig linux-2.6.22.noarch/drivers/net/wireless/prism54/islpci_hotplug.c
--- linux-2.6.22.noarch/drivers/net/wireless/prism54/islpci_hotplug.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/prism54/islpci_hotplug.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/prism54/islpci_hotplug.c 2007-09-18 10:10:25.000000000 -0400
@@ -87,7 +87,6 @@ static struct pci_driver prism54_driver
.remove = prism54_remove,
.suspend = prism54_suspend,
@@ -4453,8 +4553,9 @@
};
/******************************************************************************
+diff -up linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c
--- linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2007-09-18 10:10:25.000000000 -0400
@@ -1853,7 +1853,6 @@ prism54_del_mac(struct net_device *ndev,
islpci_private *priv = netdev_priv(ndev);
struct islpci_acl *acl = &priv->acl;
@@ -4528,8 +4629,9 @@
kfree(bss);
}
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/ipw2200.c.orig linux-2.6.22.noarch/drivers/net/wireless/ipw2200.c
--- linux-2.6.22.noarch/drivers/net/wireless/ipw2200.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/ipw2200.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/ipw2200.c 2007-09-18 10:10:25.000000000 -0400
@@ -70,7 +70,7 @@
#define VQ
#endif
@@ -4611,8 +4713,9 @@
goto none;
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c.orig linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c
--- linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/wl3501_cs.c 2007-09-18 10:10:25.000000000 -0400
@@ -1011,7 +1011,7 @@ static inline void wl3501_md_ind_interru
} else {
skb->dev = dev;
@@ -4622,8 +4725,111 @@
wl3501_receive(this, skb->data, pkt_len);
skb_put(skb, pkt_len);
skb->protocol = eth_type_trans(skb, dev);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c.orig linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+--- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.c 2007-09-18 10:25:25.000000000 -0400
+@@ -3183,6 +3183,9 @@ static void bcm43xx_periodic_work_handle
+ unsigned long orig_trans_start = 0;
+
+ mutex_lock(&bcm->mutex);
++ /* keep from doing and rearming periodic work if shutting down */
++ if (bcm43xx_status(bcm) == BCM43xx_STAT_UNINIT)
++ goto unlock_mutex;
+ if (unlikely(bcm->periodic_state % 60 == 0)) {
+ /* Periodic work will take a long time, so we want it to
+ * be preemtible.
+@@ -3228,14 +3231,10 @@ static void bcm43xx_periodic_work_handle
+ mmiowb();
+ bcm->periodic_state++;
+ spin_unlock_irqrestore(&bcm->irq_lock, flags);
++unlock_mutex:
+ mutex_unlock(&bcm->mutex);
+ }
+
+-void bcm43xx_periodic_tasks_delete(struct bcm43xx_private *bcm)
+-{
+- cancel_rearming_delayed_work(&bcm->periodic_work);
+-}
+-
+ void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm)
+ {
+ struct delayed_work *work = &bcm->periodic_work;
+@@ -3285,6 +3284,14 @@ static int bcm43xx_rng_init(struct bcm43
+ return err;
+ }
+
++void bcm43xx_cancel_work(struct bcm43xx_private *bcm)
++{
++ /* The system must be unlocked when this routine is entered.
++ * If not, the next 2 steps may deadlock */
++ cancel_work_sync(&bcm->restart_work);
++ cancel_rearming_delayed_work(&bcm->periodic_work);
++}
++
+ static int bcm43xx_shutdown_all_wireless_cores(struct bcm43xx_private *bcm)
+ {
+ int ret = 0;
+@@ -3321,7 +3328,12 @@ static void bcm43xx_free_board(struct bc
+ {
+ bcm43xx_rng_exit(bcm);
+ bcm43xx_sysfs_unregister(bcm);
+- bcm43xx_periodic_tasks_delete(bcm);
++
++ mutex_lock(&(bcm)->mutex);
++ bcm43xx_set_status(bcm, BCM43xx_STAT_UNINIT);
++ mutex_unlock(&(bcm)->mutex);
++
++ bcm43xx_cancel_work(bcm);
+
+ mutex_lock(&(bcm)->mutex);
+ bcm43xx_shutdown_all_wireless_cores(bcm);
+@@ -4018,7 +4030,7 @@ static int bcm43xx_net_stop(struct net_d
+ err = bcm43xx_disable_interrupts_sync(bcm);
+ assert(!err);
+ bcm43xx_free_board(bcm);
+- flush_scheduled_work();
++ bcm43xx_cancel_work(bcm);
+
+ return 0;
+ }
+@@ -4150,9 +4162,9 @@ static void bcm43xx_chip_reset(struct wo
+ struct bcm43xx_phyinfo *phy;
+ int err = -ENODEV;
+
++ bcm43xx_cancel_work(bcm);
+ mutex_lock(&(bcm)->mutex);
+ if (bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED) {
+- bcm43xx_periodic_tasks_delete(bcm);
+ phy = bcm43xx_current_phy(bcm);
+ err = bcm43xx_select_wireless_core(bcm, phy->type);
+ if (!err)
+diff -up linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c.orig linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c
+--- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c 2007-09-18 10:11:13.000000000 -0400
+@@ -327,7 +327,7 @@ static ssize_t bcm43xx_attr_phymode_stor
+ goto out;
+ }
+
+- bcm43xx_periodic_tasks_delete(bcm);
++ bcm43xx_cancel_work(bcm);
+ mutex_lock(&(bcm)->mutex);
+ err = bcm43xx_select_wireless_core(bcm, phytype);
+ if (!err)
+diff -up linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.h.orig linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.h
+--- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.h.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/bcm43xx_main.h 2007-09-18 10:11:13.000000000 -0400
+@@ -122,7 +122,7 @@ void bcm43xx_wireless_core_reset(struct
+ void bcm43xx_mac_suspend(struct bcm43xx_private *bcm);
+ void bcm43xx_mac_enable(struct bcm43xx_private *bcm);
+
+-void bcm43xx_periodic_tasks_delete(struct bcm43xx_private *bcm);
++void bcm43xx_cancel_work(struct bcm43xx_private *bcm);
+ void bcm43xx_periodic_tasks_setup(struct bcm43xx_private *bcm);
+
+ void bcm43xx_controller_restart(struct bcm43xx_private *bcm, const char *reason);
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ap.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ap.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ap.c 2007-09-18 10:10:25.000000000 -0400
@@ -326,7 +326,6 @@ static int ap_control_proc_read(char *pa
char *p = page;
struct ap_data *ap = (struct ap_data *) data;
@@ -4748,8 +4954,9 @@
if (sta->ap)
hostap_wds_link_oper(local, sta->addr, WDS_ADD);
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_config.h.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_config.h
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_config.h.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_config.h 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_config.h 2007-09-18 10:10:25.000000000 -0400
@@ -1,8 +1,6 @@
#ifndef HOSTAP_CONFIG_H
#define HOSTAP_CONFIG_H
@@ -4759,8 +4966,9 @@
/* In the previous versions of Host AP driver, support for user space version
* of IEEE 802.11 management (hostapd) used to be disabled in the default
* configuration. From now on, support for hostapd is always included and it is
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_pci.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_pci.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_pci.c 2007-09-18 10:10:25.000000000 -0400
@@ -20,7 +20,6 @@
#include "hostap_wlan.h"
@@ -4801,8 +5009,9 @@
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_cs.c 2007-09-18 10:10:25.000000000 -0400
@@ -22,7 +22,6 @@
#include "hostap_wlan.h"
@@ -4834,8 +5043,9 @@
}
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_main.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_main.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_main.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_main.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_main.c 2007-09-18 10:10:25.000000000 -0400
@@ -37,7 +37,6 @@
MODULE_AUTHOR("Jouni Malinen");
MODULE_DESCRIPTION("Host AP common routines");
@@ -4844,8 +5054,9 @@
#define TX_TIMEOUT (2 * HZ)
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2007-09-18 10:10:25.000000000 -0400
@@ -3893,8 +3893,6 @@ static void prism2_get_drvinfo(struct ne
local = iface->local;
@@ -4855,8 +5066,9 @@
snprintf(info->fw_version, sizeof(info->fw_version) - 1,
"%d.%d.%d", (local->sta_fw_ver >> 16) & 0xff,
(local->sta_fw_ver >> 8) & 0xff,
+diff -up linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_plx.c.orig linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_plx.c
--- linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_plx.c.orig 2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_plx.c 2007-08-30 17:19:20.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/hostap/hostap_plx.c 2007-09-18 10:10:25.000000000 -0400
@@ -23,7 +23,6 @@
#include "hostap_wlan.h"
@@ -4898,8 +5110,57 @@
}
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/Documentation/networking/mac80211-injection.txt 2007-08-30 17:21:26.000000000 -0400
+diff -up linux-2.6.22.noarch/fs/compat_ioctl.c.orig linux-2.6.22.noarch/fs/compat_ioctl.c
+--- linux-2.6.22.noarch/fs/compat_ioctl.c.orig 2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/fs/compat_ioctl.c 2007-09-18 10:11:13.000000000 -0400
+@@ -2306,8 +2306,10 @@ static int do_wireless_ioctl(unsigned in
+ struct iwreq __user *iwr_u;
+ struct iw_point __user *iwp;
+ struct compat_iw_point __user *iwp_u;
+- compat_caddr_t pointer;
++ compat_caddr_t pointer_u;
++ void __user *pointer;
+ __u16 length, flags;
++ int ret;
+
+ iwr_u = compat_ptr(arg);
+ iwp_u = (struct compat_iw_point __user *) &iwr_u->u.data;
+@@ -2325,17 +2327,29 @@ static int do_wireless_ioctl(unsigned in
+ sizeof(iwr->ifr_ifrn.ifrn_name)))
+ return -EFAULT;
+
+- if (__get_user(pointer, &iwp_u->pointer) ||
++ if (__get_user(pointer_u, &iwp_u->pointer) ||
+ __get_user(length, &iwp_u->length) ||
+ __get_user(flags, &iwp_u->flags))
+ return -EFAULT;
+
+- if (__put_user(compat_ptr(pointer), &iwp->pointer) ||
++ if (__put_user(compat_ptr(pointer_u), &iwp->pointer) ||
+ __put_user(length, &iwp->length) ||
+ __put_user(flags, &iwp->flags))
+ return -EFAULT;
+
+- return sys_ioctl(fd, cmd, (unsigned long) iwr);
++ ret = sys_ioctl(fd, cmd, (unsigned long) iwr);
++
++ if (__get_user(pointer, &iwp->pointer) ||
++ __get_user(length, &iwp->length) ||
++ __get_user(flags, &iwp->flags))
++ return -EFAULT;
++
++ if (__put_user(ptr_to_compat(pointer), &iwp_u->pointer) ||
++ __put_user(length, &iwp_u->length) ||
++ __put_user(flags, &iwp_u->flags))
++ return -EFAULT;
++
++ return ret;
+ }
+
+ /* Since old style bridge ioctl's endup using SIOCDEVPRIVATE
+diff -up /dev/null linux-2.6.22.noarch/Documentation/networking/mac80211-injection.txt
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/Documentation/networking/mac80211-injection.txt 2007-09-18 10:10:25.000000000 -0400
@@ -0,0 +1,59 @@
+How to use packet injection with mac80211
+=========================================
@@ -4960,8 +5221,9 @@
+http://penumbra.warmcat.com/_twk/tiki-index.php?page=packetspammer
+
+Andy Green <andy at warmcat.com>
---- /dev/null 2007-08-30 08:15:33.553140766 -0400
-+++ linux-2.6.22.noarch/Documentation/networking/radiotap-headers.txt 2007-08-30 17:21:26.000000000 -0400
+diff -up /dev/null linux-2.6.22.noarch/Documentation/networking/radiotap-headers.txt
+--- /dev/null 2007-09-18 08:44:28.563724362 -0400
++++ linux-2.6.22.noarch/Documentation/networking/radiotap-headers.txt 2007-09-18 10:10:25.000000000 -0400
@@ -0,0 +1,152 @@
+How to use radiotap headers
+===========================
--- linux-2.6-iwlwifi-fw-name-compat.patch DELETED ---
More information about the fedora-extras-commits
mailing list