rpms/kernel/devel config-generic, 1.63, 1.64 kernel.spec, 1.398, 1.399 linux-2.6-wireless-pending.patch, 1.26, 1.27 linux-2.6-wireless.patch, 1.20, 1.21

John W. Linville (linville) fedora-extras-commits at redhat.com
Fri Feb 1 22:34:17 UTC 2008


Author: linville

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

Modified Files:
	config-generic kernel.spec linux-2.6-wireless-pending.patch 
	linux-2.6-wireless.patch 
Log Message:
wireless updates 2008-02-01


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- config-generic	29 Jan 2008 22:33:46 -0000	1.63
+++ config-generic	1 Feb 2008 22:33:38 -0000	1.64
@@ -1224,7 +1224,8 @@
 CONFIG_MAC80211_RC_PID=y
 CONFIG_MAC80211_RC_SIMPLE=y
 CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
+CONFIG_MAC80211_DEBUGFS=y
+# CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT is not set
 # CONFIG_MAC80211_DEBUG is not set
 CONFIG_IEEE80211=m
 CONFIG_IEEE80211_DEBUG=y
@@ -1291,6 +1292,7 @@
 CONFIG_PCMCIA_ATMEL=m
 CONFIG_PCMCIA_WL3501=m
 CONFIG_RT2X00=y
+CONFIG_RT2X00_LIB_DEBUGFS=y
 # CONFIG_RT2X00_DEBUG is not set
 CONFIG_RT2400PCI=m
 CONFIG_RT2400PCI_RFKILL=y


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.398
retrieving revision 1.399
diff -u -r1.398 -r1.399
--- kernel.spec	1 Feb 2008 17:45:46 -0000	1.398
+++ kernel.spec	1 Feb 2008 22:33:38 -0000	1.399
@@ -1784,6 +1784,17 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Fri Feb 01 2008 John W. Linville <linville at redhat.com>
+- mac80211: make alignment warning optional
+- mac80211 rate control: fix section mismatch
+- mac80211: fix initialisation error path
+- ath5k: fix section mismatch warning
+- iwlwifi: fix merge sequence: exit on error before state change
+- iwlwifi: fix sparse warning in iwl 3945
+- iwlwifi: Fix MIMO PS mode
+- iwlwifi: remove ieee80211 types from iwl-helpers.h
+- mac80211: dissolve pre-rx handlers
+
 * Fri Feb 01 2008 Chuck Ebbert <cebbert at redhat.com>
 - Fix build with GCC 4.3, part 2.
 

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.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- linux-2.6-wireless-pending.patch	29 Jan 2008 22:33:46 -0000	1.26
+++ linux-2.6-wireless-pending.patch	1 Feb 2008 22:33:38 -0000	1.27
@@ -1,3 +1,16 @@
+commit f2d4faa756470565c28a72217d35385719ee477d
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Jan 29 17:07:43 2008 +0100
+
+    mac80211: dissolve pre-rx handlers
+    
+    These handlers do not really return a status and the compiler
+    can do a much better job when they're simply static functions
+    that it can inline if appropriate. Also makes the code shorter.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit a1b8c36ffedc73655585d5377bb3609c9771a835
 Author: Tomas Winkler <tomas.winkler at intel.com>
 Date:   Sun Jan 27 15:06:23 2008 +0200
@@ -263,8 +276,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.24.noarch/include/net/mac80211.h.orig linux-2.6.24.noarch/include/net/mac80211.h
---- linux-2.6.24.noarch/include/net/mac80211.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/include/net/mac80211.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/include/net/mac80211.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/include/net/mac80211.h	2008-02-01 17:10:38.000000000 -0500
 @@ -246,6 +246,7 @@ struct ieee80211_tx_queue_stats_data {
   * @IEEE80211_TX_QUEUE_AFTER_BEACON: transmit queue for frames to be
   *	sent after a beacon
@@ -465,7 +478,7 @@
  #endif /* MAC80211_H */
 diff -up linux-2.6.24.noarch/net/mac80211/wme.h.orig linux-2.6.24.noarch/net/mac80211/wme.h
 --- linux-2.6.24.noarch/net/mac80211/wme.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wme.h	2008-01-29 17:07:21.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wme.h	2008-02-01 17:10:38.000000000 -0500
 @@ -24,6 +24,8 @@
  
  #define QOS_CONTROL_TAG1D_MASK 0x07
@@ -510,9 +523,137 @@
  static inline int ieee80211_wme_register(void)
  {
  	return 0;
+diff -up linux-2.6.24.noarch/net/mac80211/rx.c.orig linux-2.6.24.noarch/net/mac80211/rx.c
+--- linux-2.6.24.noarch/net/mac80211/rx.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/rx.c	2008-02-01 17:11:46.000000000 -0500
+@@ -249,15 +249,7 @@ ieee80211_rx_monitor(struct ieee80211_lo
+ }
+ 
+ 
+-/* pre-rx handlers
+- *
+- * these don't have dev/sdata fields in the rx data
+- * The sta value should also not be used because it may
+- * be NULL even though a STA (in IBSS mode) will be added.
+- */
+-
+-static ieee80211_txrx_result
+-ieee80211_rx_h_parse_qos(struct ieee80211_txrx_data *rx)
++static void ieee80211_parse_qos(struct ieee80211_txrx_data *rx)
+ {
+ 	u8 *data = rx->skb->data;
+ 	int tid;
+@@ -290,8 +282,40 @@ ieee80211_rx_h_parse_qos(struct ieee8021
+ 	/* Set skb->priority to 1d tag if highest order bit of TID is not set.
+ 	 * For now, set skb->priority to 0 for other cases. */
+ 	rx->skb->priority = (tid > 7) ? 0 : tid;
++}
+ 
+-	return TXRX_CONTINUE;
++static void ieee80211_verify_ip_alignment(struct ieee80211_txrx_data *rx)
++{
++#ifdef CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT
++	int hdrlen;
++
++	if (!WLAN_FC_DATA_PRESENT(rx->fc))
++		return;
++
++	/*
++	 * Drivers are required to align the payload data in a way that
++	 * guarantees that the contained IP header is aligned to a four-
++	 * byte boundary. In the case of regular frames, this simply means
++	 * aligning the payload to a four-byte boundary (because either
++	 * the IP header is directly contained, or IV/RFC1042 headers that
++	 * have a length divisible by four are in front of it.
++	 *
++	 * With A-MSDU frames, however, the payload data address must
++	 * yield two modulo four because there are 14-byte 802.3 headers
++	 * within the A-MSDU frames that push the IP header further back
++	 * to a multiple of four again. Thankfully, the specs were sane
++	 * enough this time around to require padding each A-MSDU subframe
++	 * to a length that is a multiple of four.
++	 *
++	 * Padding like atheros hardware adds which is inbetween the 802.11
++	 * header and the payload is not supported, the driver is required
++	 * to move the 802.11 header further back in that case.
++	 */
++	hdrlen = ieee80211_get_hdrlen(rx->fc);
++	if (rx->flags & IEEE80211_TXRXD_RX_AMSDU)
++		hdrlen += ETH_HLEN;
++	WARN_ON_ONCE(((unsigned long)(rx->skb->data + hdrlen)) & 3);
++#endif
+ }
+ 
+ 
+@@ -340,52 +364,6 @@ static u32 ieee80211_rx_load_stats(struc
+ 	return load;
+ }
+ 
+-#ifdef CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT
+-static ieee80211_txrx_result
+-ieee80211_rx_h_verify_ip_alignment(struct ieee80211_txrx_data *rx)
+-{
+-	int hdrlen;
+-
+-	if (!WLAN_FC_DATA_PRESENT(rx->fc))
+-		return TXRX_CONTINUE;
+-
+-	/*
+-	 * Drivers are required to align the payload data in a way that
+-	 * guarantees that the contained IP header is aligned to a four-
+-	 * byte boundary. In the case of regular frames, this simply means
+-	 * aligning the payload to a four-byte boundary (because either
+-	 * the IP header is directly contained, or IV/RFC1042 headers that
+-	 * have a length divisible by four are in front of it.
+-	 *
+-	 * With A-MSDU frames, however, the payload data address must
+-	 * yield two modulo four because there are 14-byte 802.3 headers
+-	 * within the A-MSDU frames that push the IP header further back
+-	 * to a multiple of four again. Thankfully, the specs were sane
+-	 * enough this time around to require padding each A-MSDU subframe
+-	 * to a length that is a multiple of four.
+-	 *
+-	 * Padding like atheros hardware adds which is inbetween the 802.11
+-	 * header and the payload is not supported, the driver is required
+-	 * to move the 802.11 header further back in that case.
+-	 */
+-	hdrlen = ieee80211_get_hdrlen(rx->fc);
+-	if (rx->flags & IEEE80211_TXRXD_RX_AMSDU)
+-		hdrlen += ETH_HLEN;
+-	WARN_ON_ONCE(((unsigned long)(rx->skb->data + hdrlen)) & 3);
+-
+-	return TXRX_CONTINUE;
+-}
+-#endif
+-
+-ieee80211_rx_handler ieee80211_rx_pre_handlers[] =
+-{
+-	ieee80211_rx_h_parse_qos,
+-#ifdef CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT
+-	ieee80211_rx_h_verify_ip_alignment,
+-#endif
+-	NULL
+-};
+-
+ /* rx handlers */
+ 
+ static ieee80211_txrx_result
+@@ -1747,9 +1725,9 @@ static void __ieee80211_rx_handle_packet
+ 	if (unlikely(local->sta_sw_scanning || local->sta_hw_scanning))
+ 		rx.flags |= IEEE80211_TXRXD_RXIN_SCAN;
+ 
+-	if (__ieee80211_invoke_rx_handlers(local, local->rx_pre_handlers, &rx,
+-					   sta) != TXRX_CONTINUE)
+-		goto end;
++	ieee80211_parse_qos(&rx);
++	ieee80211_verify_ip_alignment(&rx);
++
+ 	skb = rx.skb;
+ 
+ 	if (sta && !(sta->flags & (WLAN_STA_WDS | WLAN_STA_ASSOC_AP)) &&
 diff -up linux-2.6.24.noarch/net/mac80211/debugfs_sta.c.orig linux-2.6.24.noarch/net/mac80211/debugfs_sta.c
 --- linux-2.6.24.noarch/net/mac80211/debugfs_sta.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/debugfs_sta.c	2008-01-29 17:07:21.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/debugfs_sta.c	2008-02-01 17:10:38.000000000 -0500
 @@ -55,6 +55,13 @@ static const struct file_operations sta_
  	.open = mac80211_open_file_generic,				\
  }
@@ -658,8 +799,8 @@
  	debugfs_remove(sta->debugfs.dir);
  	sta->debugfs.dir = NULL;
 diff -up linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211.c	2008-02-01 17:11:46.000000000 -0500
 @@ -411,6 +411,329 @@ static int ieee80211_stop(struct net_dev
  	return 0;
  }
@@ -1017,9 +1158,17 @@
  		default: /* should never get here! */
  			printk(KERN_ERR "%s: Unknown message type (%d)\n",
  			       wiphy_name(local->hw.wiphy), skb->pkt_type);
+@@ -1068,7 +1404,6 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+ 	local->hw.queues = 1; /* default */
+ 
+ 	local->mdev = mdev;
+-	local->rx_pre_handlers = ieee80211_rx_pre_handlers;
+ 	local->rx_handlers = ieee80211_rx_handlers;
+ 	local->tx_handlers = ieee80211_tx_handlers;
+ 
 diff -up linux-2.6.24.noarch/net/mac80211/wme.c.orig linux-2.6.24.noarch/net/mac80211/wme.c
---- linux-2.6.24.noarch/net/mac80211/wme.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wme.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/wme.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wme.c	2008-02-01 17:10:38.000000000 -0500
 @@ -19,10 +19,13 @@
  #include "wme.h"
  
@@ -1219,8 +1368,8 @@
 +	}
 +}
 diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig linux-2.6.24.noarch/net/mac80211/ieee80211_i.h
---- linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_i.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_i.h	2008-02-01 17:11:46.000000000 -0500
 @@ -165,6 +165,7 @@ struct ieee80211_txrx_data {
  #define IEEE80211_TXPD_DO_NOT_ENCRYPT	BIT(1)
  #define IEEE80211_TXPD_REQUEUE		BIT(2)
@@ -1249,7 +1398,15 @@
  	struct tasklet_struct tx_pending_tasklet;
  
  	/* number of interfaces with corresponding IFF_ flags */
-@@ -627,6 +630,12 @@ struct ieee80211_local {
+@@ -477,7 +480,6 @@ struct ieee80211_local {
+ 			     * deliver multicast frames both back to wireless
+ 			     * media and to the local net stack */
+ 
+-	ieee80211_rx_handler *rx_pre_handlers;
+ 	ieee80211_rx_handler *rx_handlers;
+ 	ieee80211_tx_handler *tx_handlers;
+ 
+@@ -627,6 +629,12 @@ struct ieee80211_local {
  #endif
  };
  
@@ -1262,7 +1419,7 @@
  static inline struct ieee80211_local *hw_to_local(
  	struct ieee80211_hw *hw)
  {
-@@ -782,9 +791,15 @@ int ieee80211_ht_cap_ie_to_ht_info(struc
+@@ -782,9 +790,15 @@ int ieee80211_ht_cap_ie_to_ht_info(struc
  int ieee80211_ht_addt_info_ie_to_ht_bss_info(
  			struct ieee80211_ht_addt_info *ht_add_info_ie,
  			struct ieee80211_ht_bss_info *bss_info);
@@ -1278,9 +1435,17 @@
  /* ieee80211_iface.c */
  int ieee80211_if_add(struct net_device *dev, const char *name,
  		     struct net_device **new_dev, int type);
+@@ -801,7 +815,6 @@ void ieee80211_regdomain_init(void);
+ void ieee80211_set_default_regdomain(struct ieee80211_hw_mode *mode);
+ 
+ /* rx handling */
+-extern ieee80211_rx_handler ieee80211_rx_pre_handlers[];
+ extern ieee80211_rx_handler ieee80211_rx_handlers[];
+ 
+ /* tx handling */
 diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c	2008-02-01 17:10:38.000000000 -0500
 @@ -492,6 +492,7 @@ static void ieee80211_set_associated(str
  	ifsta->last_probe = jiffies;
  	ieee80211_led_assoc(local, assoc);
@@ -1544,8 +1709,8 @@
  			if (len < (IEEE80211_MIN_ACTION_SIZE +
  				   sizeof(mgmt->u.action.u.delba)))
 diff -up linux-2.6.24.noarch/net/mac80211/sta_info.h.orig linux-2.6.24.noarch/net/mac80211/sta_info.h
---- linux-2.6.24.noarch/net/mac80211/sta_info.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/sta_info.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/sta_info.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/sta_info.h	2008-02-01 17:10:38.000000000 -0500
 @@ -33,13 +33,36 @@
  
  #define STA_TID_NUM 16
@@ -1622,8 +1787,8 @@
  #endif
  };
 diff -up linux-2.6.24.noarch/net/mac80211/tx.c.orig linux-2.6.24.noarch/net/mac80211/tx.c
---- linux-2.6.24.noarch/net/mac80211/tx.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/tx.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/tx.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/tx.c	2008-02-01 17:10:38.000000000 -0500
 @@ -1260,6 +1260,8 @@ int ieee80211_master_start_xmit(struct s
  		control.flags |= IEEE80211_TXCTL_REQUEUE;
  	if (pkt_data->flags & IEEE80211_TXPD_EAPOL_FRAME)
@@ -1671,8 +1836,8 @@
  		     !(ethertype == ETH_P_PAE &&
  		       compare_ether_addr(dev->dev_addr,
 diff -up linux-2.6.24.noarch/net/mac80211/sta_info.c.orig linux-2.6.24.noarch/net/mac80211/sta_info.c
---- linux-2.6.24.noarch/net/mac80211/sta_info.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/sta_info.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/sta_info.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/sta_info.c	2008-02-01 17:10:38.000000000 -0500
 @@ -117,8 +117,10 @@ static void sta_info_release(struct kref
  	while ((skb = skb_dequeue(&sta->tx_filtered)) != NULL) {
  		dev_kfree_skb_any(skb);
@@ -1713,8 +1878,8 @@
  	skb_queue_head_init(&sta->ps_tx_buf);
  	skb_queue_head_init(&sta->tx_filtered);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h	2008-02-01 17:10:38.000000000 -0500
 @@ -143,9 +143,12 @@ struct lbs_private {
  	wait_queue_head_t waitq;
  	struct workqueue_struct *work_thread;
@@ -1737,8 +1902,8 @@
  };
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h	2008-02-01 17:10:38.000000000 -0500
 @@ -7,6 +7,5 @@
  
  void lbs_association_worker(struct work_struct *work);
@@ -1747,8 +1912,8 @@
  
  #endif /* _LBS_ASSOC_H */
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c	2008-02-01 17:10:38.000000000 -0500
 @@ -985,6 +985,18 @@ out:
  	lbs_deb_leave(LBS_DEB_CMD);
  }
@@ -1778,8 +1943,8 @@
  	sprintf(priv->mesh_ssid, "mesh");
  	priv->mesh_ssid_len = 4;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c	2008-02-01 17:10:38.000000000 -0500
 @@ -314,7 +314,7 @@ static ssize_t lbs_setuserscan(struct fi
  
  	lbs_scan_networks(priv, scan_cfg, 1);
@@ -1790,8 +1955,8 @@
  	if (priv->surpriseremoved)
  		goto out_scan_cfg;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c	2008-02-01 17:10:38.000000000 -0500
 @@ -1154,9 +1154,9 @@ static void lbs_submit_command(struct lb
  	    command == CMD_802_11_AUTHENTICATE)
  		timeo = 10 * HZ;
@@ -1854,8 +2019,8 @@
  }
  EXPORT_SYMBOL_GPL(lbs_cmd_copyback);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h	2008-02-01 17:10:38.000000000 -0500
 @@ -48,6 +48,4 @@ int lbs_send_deauthentication(struct lbs
  
  int lbs_associate(struct lbs_private *priv, struct assoc_request *assoc_req);
@@ -1864,8 +2029,8 @@
 -
  #endif
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c	2008-02-01 17:10:38.000000000 -0500
 @@ -99,23 +99,6 @@ static void lbs_set_basic_rate_flags(u8 
  }
  
@@ -1901,8 +2066,8 @@
  	priv->NF[TYPE_RXPD][TYPE_AVG] = 0;
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c	2008-02-01 17:10:38.000000000 -0500
 @@ -73,6 +73,23 @@ static const u8 bcastmac[ETH_ALEN] = { 0
  /*                                                                   */
  /*********************************************************************/
@@ -1988,8 +2153,8 @@
  
  	/* Update RSSI if current BSS is a locally created ad-hoc BSS */
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c	2008-02-01 17:10:38.000000000 -0500
 @@ -74,7 +74,7 @@ void lbs_mac_event_disconnected(struct l
  		lbs_deb_cmd("disconnected, so exit PS mode\n");
  		lbs_ps_wakeup(priv, 0);
@@ -2012,8 +2177,8 @@
  	if (resp->seqnum != resp->seqnum) {
  		lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n",
 diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c	2008-02-01 17:10:38.000000000 -0500
 @@ -181,17 +181,6 @@ int lbs_update_channel(struct lbs_privat
  	return ret;
  }
@@ -2066,8 +2231,8 @@
  			lbs_prepare_and_send_command(priv,
  				CMD_802_11_RSSI,
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h	2008-02-01 17:10:38.000000000 -0500
 @@ -1300,6 +1300,25 @@ struct iwl4965_tx_resp {
  	__le32 status;	/* TX status (for aggregation status of 1st frame) */
  } __attribute__ ((packed));
@@ -2107,8 +2272,8 @@
  	__le16 scd_ssn;
  } __attribute__ ((packed));
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c	2008-02-01 17:10:38.000000000 -0500
 @@ -83,7 +83,7 @@ struct iwl4965_rate_scale_data {
  /**
   * struct iwl4965_scale_tbl_info -- tx params and success history for all rates
@@ -2567,8 +2732,8 @@
  #endif
  
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-02-01 17:10:38.000000000 -0500
 @@ -205,7 +205,7 @@ static void iwl4965_print_hex_dump(int l
   * See more detailed info in iwl-4965-hw.h.
   ***************************************************/
@@ -2868,8 +3033,8 @@
  
  	spin_lock_init(&priv->lock);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c	2008-02-01 17:10:39.000000000 -0500
 @@ -79,6 +79,30 @@ const struct iwl4965_rate_info iwl4965_r
  	IWL_DECLARE_RATE_INFO(60, 60, 48, INV, 48, INV, 48, INV),/* 60mbps */
  };
@@ -3616,7 +3781,7 @@
  #endif /* CONFIG_IWL4965_HT */
  
  /**
-@@ -4717,56 +4377,6 @@ static void iwl4965_sta_modify_del_ba_ti
+@@ -4730,56 +4390,6 @@ static void iwl4965_sta_modify_del_ba_ti
  	iwl4965_send_add_station(priv, &priv->stations[sta_id].sta, CMD_ASYNC);
  }
  
@@ -3673,7 +3838,7 @@
  /*
   * Find first available (lowest unused) Tx Queue, mark it "active".
   * Called only when finding queue for aggregation.
-@@ -4783,70 +4393,78 @@ static int iwl4965_txq_ctx_activate_free
+@@ -4796,70 +4406,78 @@ static int iwl4965_txq_ctx_activate_free
  	return -1;
  }
  
@@ -3774,7 +3939,7 @@
  		return -EINVAL;
  	}
  
-@@ -4860,24 +4478,81 @@ int iwl4965_mac_ht_tx_agg_stop(struct ie
+@@ -4873,24 +4491,81 @@ int iwl4965_mac_ht_tx_agg_stop(struct ie
  	if (sta_id == IWL_INVALID_STATION)
  		return -ENXIO;
  
@@ -3860,7 +4025,7 @@
  #endif /* CONFIG_IWL4965_HT */
  
  /* Set up 4965-specific Rx frame reply handlers */
-@@ -4894,9 +4569,7 @@ void iwl4965_hw_rx_handler_setup(struct 
+@@ -4907,9 +4582,7 @@ void iwl4965_hw_rx_handler_setup(struct 
  	    iwl4965_rx_missed_beacon_notif;
  
  #ifdef CONFIG_IWL4965_HT
@@ -3870,7 +4035,7 @@
  #endif /* CONFIG_IWL4965_HT */
  }
  
-@@ -4907,11 +4580,6 @@ void iwl4965_hw_setup_deferred_work(stru
+@@ -4920,11 +4593,6 @@ void iwl4965_hw_setup_deferred_work(stru
  #ifdef CONFIG_IWL4965_SENSITIVITY
  	INIT_WORK(&priv->sensitivity_work, iwl4965_bg_sensitivity_work);
  #endif
@@ -3883,8 +4048,8 @@
  	priv->statistics_periodic.data = (unsigned long)priv;
  	priv->statistics_periodic.function = iwl4965_bg_statistics_periodic;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h	2008-02-01 17:10:39.000000000 -0500
 @@ -212,6 +212,18 @@ enum {
  
  #define LQ_SIZE		2	/* 2 mode tables:  "Active" and "Search" */
@@ -3905,8 +4070,8 @@
  
  enum iwl4965_table_type {
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig	2008-02-01 17:10:39.000000000 -0500
 @@ -35,7 +35,6 @@ config IWL4965_HT
  	bool "Enable 802.11n HT features in iwl4965 driver"
  	depends on EXPERIMENTAL
@@ -3916,8 +4081,8 @@
  	  This option enables IEEE 802.11n High Throughput features
  	  for the iwl4965 driver.
 diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig	2008-01-29 17:06:50.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h	2008-01-29 17:07:21.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig	2008-02-01 17:09:44.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h	2008-02-01 17:10:39.000000000 -0500
 @@ -433,7 +433,6 @@ struct iwl4965_rx_queue {
  #define IWL_INVALID_VALUE    -1
  

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.20 -r 1.21 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.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- linux-2.6-wireless.patch	29 Jan 2008 22:33:46 -0000	1.20
+++ linux-2.6-wireless.patch	1 Feb 2008 22:33:38 -0000	1.21
@@ -1,3 +1,110 @@
+commit 04a9e451fdbbfb84d6b87042b991f729f1c14249
+Author: John W. Linville <linville at tuxdriver.com>
+Date:   Fri Feb 1 16:03:45 2008 -0500
+
+    ath5k: fix section mismatch warning
+    
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 3eadf5f4f635ed6a6cd921195c320d58b5f9a185
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Thu Jan 31 19:33:53 2008 +0100
+
+    mac80211: fix initialisation error path
+    
+    The error handling in ieee80211_init() is broken when any of
+    the built-in rate control algorithms fail to initialise, fix
+    it and rename the error labels.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit f0b9205cfb77d992e8c0f727de3099159c80dbbd
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Thu Jan 31 19:31:57 2008 +0100
+
+    mac80211 rate control: fix section mismatch
+    
+    When the rate control algorithms are built-in, their exit
+    functions can be called from mac80211's init function so
+    they cannot be marked __exit.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Acked-by: Stefano Brivio <stefano.brivio at polimi.it>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e903fbd41e9a723da194e91816bfb69d442eb116
+Author: Reinette Chatre <reinette.chatre at intel.com>
+Date:   Wed Jan 30 22:05:15 2008 -0800
+
+    iwlwifi: fix merge sequence: exit on error before state change
+    
+    The intention behind the original patch:
+    "iwlwifi: fix possible read attempt on ucode that is not available"
+    was to exit before any state is changed. Due to its submission directly
+    to 2.6.24 it was not clear how this relates to the latest iwlwifi work.
+    
+    This patch does exactly the same as the previous patch, just earlier to
+    prevent any state from being changed if there is an error.
+    
+    Signed-off-by: Reinette Chatre <reinette.chatre at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ff5059eff254fbe1d2aa4f47e24aa6fc71b98e65
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Wed Jan 30 22:05:14 2008 -0800
+
+    iwlwifi: remove ieee80211 types from iwl-helpers.h
+    
+    This patch removes IEEE80211_STYPE_BACK_REQ and
+    IEEE80211_STYPE_BACK defines from iwl-helpers.h. These are already
+    defined in include/linux/ieee80211.h
+    
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e53cfe0ead3b5e5a463e7c3f01033373a0faaac1
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Wed Jan 30 22:05:13 2008 -0800
+
+    iwlwifi: Fix MIMO PS mode
+    
+    This patch setups correctly MIMO PS mode flags
+    
+    Signed-off-by: Guy Cohen <guy.cohen at intel.com>
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bd8a040e246280994802a56383def211fc790524
+Author: Ron Rindjunsky <ron.rindjunsky at intel.com>
+Date:   Wed Jan 30 22:05:12 2008 -0800
+
+    iwlwifi: fix sparse warning in iwl 3945
+    
+    This patch fixes a sparse warning over iwl3945_add_radiotap function by
+    turning it static
+    
+    Signed-off-by: Ron Rindjunsky <ron.rindjunsky at intel.com>
+    Acked-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 6feeb8aad7925b4c00f785eac3039c772629b42f
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Jan 29 16:57:51 2008 +0100
+
+    mac80211: make alignment warning optional
+    
+    Driver authors should be aware of the alignment requirements, but
+    not everybody cares about the warning. This patch makes it depend
+    on a new Kconfig symbol MAC80211_DEBUG_PACKET_ALIGNMENT which can
+    be enabled regardless of MAC80211_DEBUG and is recommended for
+    driver authors (only). This also restricts the warning to data
+    packets so other packets need not be realigned to not trigger the
+    warning.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit ec945b84a6a23c0afed6a216c6a2bdeec5c2e6d9
 Author: Marcin Juszkiewicz <openembedded at haerwu.biz>
 Date:   Tue Jan 29 09:42:53 2008 +0100
@@ -7265,8 +7372,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 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-29 16:52:27.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-01-29 16:52:34.000000000 -0500
+--- 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
 @@ -7,6 +7,18 @@
   */
  
@@ -7468,8 +7575,8 @@
 +
  #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-29 16:52:27.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/wireless.h	2008-01-29 16:52:34.000000000 -0500
+--- 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
 @@ -541,6 +541,16 @@
  /* Maximum size of returned data */
  #define IW_SCAN_MAX_DATA	4096	/* In bytes */
@@ -7499,7 +7606,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
-+++ linux-2.6.24.noarch/include/linux/input.h	2008-01-29 16:56:36.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/input.h	2008-02-01 17:01:45.000000000 -0500
 @@ -371,6 +371,8 @@ struct input_absinfo {
  #define KEY_BRIGHTNESS_ZERO	244	/* brightness off, use ambient */
  #define KEY_DISPLAY_OFF		245	/* display device to off state */
@@ -7510,8 +7617,8 @@
  #define BTN_0			0x100
  #define BTN_1			0x101
 diff -up linux-2.6.24.noarch/include/linux/pci_ids.h.orig linux-2.6.24.noarch/include/linux/pci_ids.h
---- linux-2.6.24.noarch/include/linux/pci_ids.h.orig	2008-01-29 16:52:27.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/pci_ids.h	2008-01-29 16:52:34.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/pci_ids.h.orig	2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/pci_ids.h	2008-02-01 17:01:45.000000000 -0500
 @@ -2078,6 +2078,9 @@
  #define PCI_DEVICE_ID_ALTIMA_AC9100	0x03ea
  #define PCI_DEVICE_ID_ALTIMA_AC1003	0x03eb
@@ -7523,8 +7630,8 @@
  
  #define PCI_VENDOR_ID_ARECA		0x17d3
 diff -up linux-2.6.24.noarch/include/linux/ieee80211.h.orig linux-2.6.24.noarch/include/linux/ieee80211.h
---- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-01-29 16:52:27.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-01-29 16:52:34.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/ieee80211.h.orig	2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/ieee80211.h	2008-02-01 17:02:35.000000000 -0500
 @@ -54,6 +54,8 @@
  #define IEEE80211_STYPE_ACTION		0x00D0
  
@@ -7586,7 +7693,7 @@
  			} u;
  		} __attribute__ ((packed)) action;
  	} u;
-@@ -205,6 +226,66 @@ struct ieee80211_cts {
+@@ -205,6 +226,72 @@ struct ieee80211_cts {
  	u8 ra[6];
  } __attribute__ ((packed));
  
@@ -7650,10 +7757,16 @@
 +#define IEEE80211_HT_IE_HT_PROTECTION		0x0003
 +#define IEEE80211_HT_IE_NON_GF_STA_PRSNT	0x0004
 +#define IEEE80211_HT_IE_NON_HT_STA_PRSNT	0x0010
++
++/* MIMO Power Save Modes */
++#define WLAN_HT_CAP_MIMO_PS_STATIC         0
++#define WLAN_HT_CAP_MIMO_PS_DYNAMIC        1
++#define WLAN_HT_CAP_MIMO_PS_INVALID        2
++#define WLAN_HT_CAP_MIMO_PS_DISABLED       3
  
  /* Authentication algorithms */
  #define WLAN_AUTH_OPEN 0
-@@ -271,6 +352,18 @@ enum ieee80211_statuscode {
+@@ -271,6 +358,18 @@ enum ieee80211_statuscode {
  	WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
  	WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
  	WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
@@ -7672,7 +7785,7 @@
[...4137 lines suppressed...]
 +/*
 + * Radio tuning for Maxim max2820 on RTL8180
@@ -125499,8 +125664,8 @@
 +	.set_chan	= max2820_rf_set_channel
 +};
 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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -104,7 +104,7 @@ static int adm8211_read_eeprom(struct ie
  	if (!priv->eeprom)
  		return -ENOMEM;
@@ -125534,8 +125699,8 @@
  	if (!is_valid_ether_addr(perm_addr)) {
  		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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_common.h	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -188,10 +188,10 @@
  
  struct hfa384x_comp_ident
@@ -125599,8 +125764,8 @@
  
  
 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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -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);
@@ -125611,8 +125776,8 @@
  		skb_pull(skb, hdrlen);
  		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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ap.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -258,7 +258,7 @@ static void ap_handle_timer(unsigned lon
  				 sta->addr, ap->tx_callback_poll);
  	} else {
@@ -125872,8 +126037,8 @@
  
  	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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_wlan.h	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -39,20 +39,20 @@ struct linux_wlan_ng_prism_hdr {
  } __attribute__ ((packed));
  
@@ -126174,8 +126339,8 @@
  
  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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_pci.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -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))
@@ -126225,8 +126390,8 @@
  	for ( ; len > 1; len -= 2)
  		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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_download.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -100,7 +100,7 @@ static int hfa384x_from_aux(struct net_d
  
  #ifdef PRISM2_PCI
@@ -126287,8 +126452,8 @@
  	local->hw_downloading = 1;
  
 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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-01-29 16:56:30.000000000 -0500
+--- 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
 @@ -845,15 +845,13 @@ static struct pcmcia_device_id hostap_cs
  					 0x4b801a17),
  	PCMCIA_MFC_DEVICE_PROD_ID12(0, "SanDisk", "ConnectPlus",
@@ -126326,8 +126491,8 @@
  };
  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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_hw.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -1075,7 +1075,7 @@ static int prism2_setup_rids(struct net_
  {
  	struct hostap_interface *iface;
@@ -126414,8 +126579,8 @@
  		goto out;
  	}
 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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -296,7 +296,7 @@ int hostap_tx_callback_unregister(local_
  int hostap_set_word(struct net_device *dev, int rid, u16 val)
  {
@@ -126444,8 +126609,8 @@
  	wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL);
  	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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -303,7 +303,7 @@ static void prism2_info_hostscanresults(
  	int i, result_size, copy_len, new_count;
  	struct hfa384x_hostscan_result *results, *prev;
@@ -126484,8 +126649,8 @@
  		for (i = 0; i < (left < 100 ? left : 100); i++)
  			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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-01-29 16:56:30.000000000 -0500
+--- 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
 @@ -5,52 +5,52 @@
  #include <net/ieee80211_crypt.h>
  
@@ -126569,8 +126734,8 @@
  enum {
  	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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -84,7 +84,7 @@ static int prism2_get_datarates(struct n
  	if (len < 2)
  		return 0;
@@ -126835,8 +127000,8 @@
  	reason = cpu_to_le16(param->u.mlme.reason_code);
  	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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -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) },
@@ -126847,8 +127012,8 @@
  };
  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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
  			   struct ssb_device *dev)
  {
@@ -126999,8 +127164,8 @@
  }
  
 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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -872,14 +872,22 @@ EXPORT_SYMBOL(ssb_clockspeed);
  
  static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
@@ -127026,8 +127191,8 @@
  	}
  	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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
  	return t[crc ^ data];
  }
@@ -127473,8 +127638,8 @@
  		err = -EINVAL;
  		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-29 16:52:29.000000000 -0500
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-01-29 16:52:35.000000000 -0500
+--- 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
 @@ -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 scm-commits mailing list