rpms/kernel/devel kernel.spec, 1.645, 1.646 linux-2.6-wireless-pending.patch, 1.47, 1.48 linux-2.6-wireless.patch, 1.36, 1.37

John W. Linville (linville) fedora-extras-commits at redhat.com
Wed May 21 19:25:05 UTC 2008


Author: linville

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

Modified Files:
	kernel.spec linux-2.6-wireless-pending.patch 
	linux-2.6-wireless.patch 
Log Message:
wireless fixes from 2008-05-20


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.645
retrieving revision 1.646
diff -u -r1.645 -r1.646
--- kernel.spec	21 May 2008 15:30:13 -0000	1.645
+++ kernel.spec	21 May 2008 19:24:22 -0000	1.646
@@ -1125,7 +1125,7 @@
 ApplyPatch linux-2.6-selinux-new-proc-checks.patch
 
 # wireless patches headed for 2.6.26
-#ApplyPatch linux-2.6-wireless.patch
+ApplyPatch linux-2.6-wireless.patch
 # wireless patches headed for 2.6.27
 ApplyPatch linux-2.6-wireless-pending.patch
 
@@ -1770,6 +1770,14 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Wed May 21 2008 John W. Linville <linville at redhat.com>
+- libertas: Fix ethtool statistics
+- mac80211: fix NULL pointer dereference in ieee80211_compatible_rates
+- mac80211: don't claim iwspy support
+- rtl8187: resource leak in error case
+- hostap_cs: add ID for Conceptronic CON11CPro
+- orinoco_cs: add ID for SpeedStream wireless adapters
+
 * Wed May 21 2008 Dave Jones <davej at redhat.com>
 - 2.6.26-rc3-git3
 

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.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- linux-2.6-wireless-pending.patch	19 May 2008 18:40:11 -0000	1.47
+++ linux-2.6-wireless-pending.patch	21 May 2008 19:24:22 -0000	1.48
@@ -1802,8 +1802,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.25.noarch/include/linux/ieee80211.h.orig linux-2.6.25.noarch/include/linux/ieee80211.h
---- linux-2.6.25.noarch/include/linux/ieee80211.h.orig	2008-05-19 09:13:47.000000000 -0400
-+++ linux-2.6.25.noarch/include/linux/ieee80211.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/include/linux/ieee80211.h.orig	2008-05-21 11:36:26.000000000 -0400
++++ linux-2.6.25.noarch/include/linux/ieee80211.h	2008-05-21 14:46:57.000000000 -0400
 @@ -552,16 +552,17 @@ enum ieee80211_back_parties {
   */
  static inline u8 *ieee80211_get_SA(struct ieee80211_hdr *hdr)
@@ -1860,8 +1860,8 @@
  
  #endif /* IEEE80211_H */
 diff -up linux-2.6.25.noarch/include/net/ieee80211.h.orig linux-2.6.25.noarch/include/net/ieee80211.h
---- linux-2.6.25.noarch/include/net/ieee80211.h.orig	2008-05-19 09:13:47.000000000 -0400
-+++ linux-2.6.25.noarch/include/net/ieee80211.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/include/net/ieee80211.h.orig	2008-05-21 11:36:26.000000000 -0400
++++ linux-2.6.25.noarch/include/net/ieee80211.h	2008-05-21 14:46:57.000000000 -0400
 @@ -1262,9 +1262,6 @@ extern int ieee80211_set_encryption(stru
  /* ieee80211_tx.c */
  extern int ieee80211_xmit(struct sk_buff *skb, struct net_device *dev);
@@ -1888,8 +1888,8 @@
  static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
  {
 diff -up linux-2.6.25.noarch/include/net/mac80211.h.orig linux-2.6.25.noarch/include/net/mac80211.h
---- linux-2.6.25.noarch/include/net/mac80211.h.orig	2008-05-19 13:11:20.000000000 -0400
-+++ linux-2.6.25.noarch/include/net/mac80211.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/include/net/mac80211.h.orig	2008-05-21 11:36:33.000000000 -0400
++++ linux-2.6.25.noarch/include/net/mac80211.h	2008-05-21 14:46:57.000000000 -0400
 @@ -98,6 +98,18 @@ struct ieee80211_ht_bss_info {
  };
  
@@ -2185,7 +2185,7 @@
  			    struct ieee80211_tx_queue_stats *stats);
 diff -up linux-2.6.25.noarch/net/ieee80211/ieee80211_rx.c.orig linux-2.6.25.noarch/net/ieee80211/ieee80211_rx.c
 --- linux-2.6.25.noarch/net/ieee80211/ieee80211_rx.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/ieee80211/ieee80211_rx.c	2008-05-19 13:13:12.000000000 -0400
++++ linux-2.6.25.noarch/net/ieee80211/ieee80211_rx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -391,7 +391,7 @@ int ieee80211_rx(struct ieee80211_device
  
  		wstats.updated = 0;
@@ -2197,7 +2197,7 @@
  			wstats.updated |= IW_QUAL_LEVEL_INVALID;
 diff -up linux-2.6.25.noarch/net/ieee80211/ieee80211_wx.c.orig linux-2.6.25.noarch/net/ieee80211/ieee80211_wx.c
 --- linux-2.6.25.noarch/net/ieee80211/ieee80211_wx.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/ieee80211/ieee80211_wx.c	2008-05-19 13:13:12.000000000 -0400
++++ linux-2.6.25.noarch/net/ieee80211/ieee80211_wx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -744,98 +744,9 @@ int ieee80211_wx_get_encodeext(struct ie
  	return 0;
  }
@@ -2299,7 +2299,7 @@
 -EXPORT_SYMBOL_GPL(ieee80211_wx_get_auth);
 diff -up linux-2.6.25.noarch/net/ieee80211/ieee80211_tx.c.orig linux-2.6.25.noarch/net/ieee80211/ieee80211_tx.c
 --- linux-2.6.25.noarch/net/ieee80211/ieee80211_tx.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/ieee80211/ieee80211_tx.c	2008-05-19 13:13:12.000000000 -0400
++++ linux-2.6.25.noarch/net/ieee80211/ieee80211_tx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -542,90 +542,4 @@ int ieee80211_xmit(struct sk_buff *skb, 
  	return 1;
  }
@@ -2392,8 +2392,8 @@
 -EXPORT_SYMBOL(ieee80211_tx_frame);
  EXPORT_SYMBOL(ieee80211_txb_free);
 diff -up linux-2.6.25.noarch/net/mac80211/mlme.c.orig linux-2.6.25.noarch/net/mac80211/mlme.c
---- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-05-19 13:11:20.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-05-21 14:45:53.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-05-21 14:47:45.000000000 -0400
 @@ -87,6 +87,7 @@ static int ieee80211_sta_start_scan(stru
  				    u8 *ssid, size_t ssid_len);
  static int ieee80211_sta_config_auth(struct net_device *dev,
@@ -2483,10 +2483,10 @@
 +		if (bss->wmm_ie)
  			wmm = 1;
 -		}
- 		ieee80211_rx_bss_put(dev, bss);
- 	}
  
-@@ -814,8 +805,10 @@ static void ieee80211_send_assoc(struct 
+ 		/* get all rates supported by the device and the AP as
+ 		 * some APs don't like getting a superset of their rates
+@@ -821,8 +812,10 @@ static void ieee80211_send_assoc(struct 
  		*pos++ = 1; /* WME ver */
  		*pos++ = 0;
  	}
@@ -2498,7 +2498,7 @@
  		__le16 tmp = cpu_to_le16(sband->ht_info.cap);
  		pos = skb_put(skb, sizeof(struct ieee80211_ht_cap)+2);
  		*pos++ = WLAN_EID_HT_CAPABILITY;
-@@ -1134,8 +1127,8 @@ static void ieee80211_send_addba_resp(st
+@@ -1141,8 +1134,8 @@ static void ieee80211_send_addba_resp(st
  	struct ieee80211_mgmt *mgmt;
  	u16 capab;
  
@@ -2509,7 +2509,7 @@
  	if (!skb) {
  		printk(KERN_DEBUG "%s: failed to allocate buffer "
  		       "for addba resp frame\n", dev->name);
-@@ -1183,9 +1176,7 @@ void ieee80211_send_addba_request(struct
+@@ -1190,9 +1183,7 @@ void ieee80211_send_addba_request(struct
  	struct ieee80211_mgmt *mgmt;
  	u16 capab;
  
@@ -2520,7 +2520,7 @@
  
  	if (!skb) {
  		printk(KERN_ERR "%s: failed to allocate buffer "
-@@ -1286,7 +1277,7 @@ static void ieee80211_sta_process_addba_
+@@ -1293,7 +1284,7 @@ static void ieee80211_sta_process_addba_
  
  
  	/* examine state machine */
@@ -2529,7 +2529,7 @@
  
  	if (sta->ampdu_mlme.tid_state_rx[tid] != HT_AGG_STATE_IDLE) {
  #ifdef CONFIG_MAC80211_HT_DEBUG
-@@ -1353,7 +1344,7 @@ static void ieee80211_sta_process_addba_
+@@ -1360,7 +1351,7 @@ static void ieee80211_sta_process_addba_
  	tid_agg_rx->stored_mpdu_num = 0;
  	status = WLAN_STATUS_SUCCESS;
  end:
@@ -2538,7 +2538,7 @@
  
  end_no_lock:
  	ieee80211_send_addba_resp(sta->sdata->dev, sta->addr, tid,
-@@ -1385,10 +1376,10 @@ static void ieee80211_sta_process_addba_
+@@ -1392,10 +1383,10 @@ static void ieee80211_sta_process_addba_
  
  	state = &sta->ampdu_mlme.tid_state_tx[tid];
  
@@ -2551,7 +2551,7 @@
  		printk(KERN_DEBUG "state not HT_ADDBA_REQUESTED_MSK:"
  			"%d\n", *state);
  		goto addba_resp_exit;
-@@ -1396,7 +1387,7 @@ static void ieee80211_sta_process_addba_
+@@ -1403,7 +1394,7 @@ static void ieee80211_sta_process_addba_
  
  	if (mgmt->u.action.u.addba_resp.dialog_token !=
  		sta->ampdu_mlme.tid_tx[tid]->dialog_token) {
@@ -2560,7 +2560,7 @@
  #ifdef CONFIG_MAC80211_HT_DEBUG
  		printk(KERN_DEBUG "wrong addBA response token, tid %d\n", tid);
  #endif /* CONFIG_MAC80211_HT_DEBUG */
-@@ -1420,7 +1411,7 @@ static void ieee80211_sta_process_addba_
+@@ -1427,7 +1418,7 @@ static void ieee80211_sta_process_addba_
  			ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]);
  		}
  
@@ -2569,7 +2569,7 @@
  		printk(KERN_DEBUG "recipient accepted agg: tid %d \n", tid);
  	} else {
  		printk(KERN_DEBUG "recipient rejected agg: tid %d \n", tid);
-@@ -1428,7 +1419,7 @@ static void ieee80211_sta_process_addba_
+@@ -1435,7 +1426,7 @@ static void ieee80211_sta_process_addba_
  		sta->ampdu_mlme.addba_req_num[tid]++;
  		/* this will allow the state check in stop_BA_session */
  		*state = HT_AGG_STATE_OPERATIONAL;
@@ -2578,7 +2578,7 @@
  		ieee80211_stop_tx_ba_session(hw, sta->addr, tid,
  					     WLAN_BACK_INITIATOR);
  	}
-@@ -1447,8 +1438,7 @@ void ieee80211_send_delba(struct net_dev
+@@ -1454,8 +1445,7 @@ void ieee80211_send_delba(struct net_dev
  	struct ieee80211_mgmt *mgmt;
  	u16 params;
  
@@ -2588,7 +2588,7 @@
  
  	if (!skb) {
  		printk(KERN_ERR "%s: failed to allocate buffer "
-@@ -1499,17 +1489,17 @@ void ieee80211_sta_stop_rx_ba_session(st
+@@ -1506,17 +1496,17 @@ void ieee80211_sta_stop_rx_ba_session(st
  	}
  
  	/* check if TID is in operational state */
@@ -2609,7 +2609,7 @@
  
  	/* stop HW Rx aggregation. ampdu_action existence
  	 * already verified in session init so we add the BUG_ON */
-@@ -1586,10 +1576,10 @@ static void ieee80211_sta_process_delba(
+@@ -1593,10 +1583,10 @@ static void ieee80211_sta_process_delba(
  		ieee80211_sta_stop_rx_ba_session(dev, sta->addr, tid,
  						 WLAN_BACK_INITIATOR, 0);
  	else { /* WLAN_BACK_RECIPIENT */
@@ -2622,7 +2622,7 @@
  		ieee80211_stop_tx_ba_session(&local->hw, sta->addr, tid,
  					     WLAN_BACK_RECIPIENT);
  	}
-@@ -1626,9 +1616,9 @@ void sta_addba_resp_timer_expired(unsign
+@@ -1633,9 +1623,9 @@ void sta_addba_resp_timer_expired(unsign
  
  	state = &sta->ampdu_mlme.tid_state_tx[tid];
  	/* check if the TID waits for addBA response */
@@ -2634,7 +2634,7 @@
  		*state = HT_AGG_STATE_IDLE;
  		printk(KERN_DEBUG "timer expired on tid %d but we are not "
  				"expecting addBA response there", tid);
-@@ -1639,7 +1629,7 @@ void sta_addba_resp_timer_expired(unsign
+@@ -1646,7 +1636,7 @@ void sta_addba_resp_timer_expired(unsign
  
  	/* go through the state check in stop_BA_session */
  	*state = HT_AGG_STATE_OPERATIONAL;
@@ -2643,7 +2643,7 @@
  	ieee80211_stop_tx_ba_session(hw, temp_sta->addr, tid,
  				     WLAN_BACK_INITIATOR);
  
-@@ -1652,7 +1642,7 @@ timer_expired_exit:
+@@ -1659,7 +1649,7 @@ timer_expired_exit:
   * resetting it after each frame that arrives from the originator.
   * if this timer expires ieee80211_sta_stop_rx_ba_session will be executed.
   */
@@ -2652,7 +2652,7 @@
  {
  	/* not an elegant detour, but there is no choice as the timer passes
  	 * only one argument, and verious sta_info are needed here, so init
-@@ -1841,9 +1831,8 @@ static void ieee80211_rx_mgmt_deauth(str
+@@ -1848,9 +1838,8 @@ static void ieee80211_rx_mgmt_deauth(str
  	       " (reason=%d)\n",
  	       dev->name, print_mac(mac, mgmt->sa), reason_code);
  
@@ -2663,7 +2663,7 @@
  
  	if (ifsta->state == IEEE80211_AUTHENTICATE ||
  	    ifsta->state == IEEE80211_ASSOCIATE ||
-@@ -2006,8 +1995,8 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -2013,8 +2002,8 @@ static void ieee80211_rx_mgmt_assoc_resp
  					   local->hw.conf.channel->center_freq,
  					   ifsta->ssid, ifsta->ssid_len);
  		if (bss) {
@@ -2673,7 +2673,7 @@
  			sta->last_noise = bss->noise;
  			ieee80211_rx_bss_put(dev, bss);
  		}
-@@ -2031,8 +2020,8 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -2038,8 +2027,8 @@ static void ieee80211_rx_mgmt_assoc_resp
  	 *	  to between the sta_info_alloc() and sta_info_insert() above.
  	 */
  
@@ -2684,7 +2684,7 @@
  
  	rates = 0;
  	basic_rates = 0;
-@@ -2076,7 +2065,8 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -2083,7 +2072,8 @@ static void ieee80211_rx_mgmt_assoc_resp
  	else
  		sdata->flags &= ~IEEE80211_SDATA_OPERATING_GMODE;
  
@@ -2694,7 +2694,7 @@
  		struct ieee80211_ht_bss_info bss_info;
  		ieee80211_ht_cap_ie_to_ht_info(
  				(struct ieee80211_ht_cap *)
-@@ -2089,8 +2079,8 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -2096,8 +2086,8 @@ static void ieee80211_rx_mgmt_assoc_resp
  
  	rate_control_rate_init(sta, local);
  
@@ -2705,7 +2705,7 @@
  		rcu_read_unlock();
  		ieee80211_sta_wmm_params(dev, ifsta, elems.wmm_param,
  					 elems.wmm_param_len);
-@@ -2675,9 +2665,9 @@ static void ieee80211_rx_bss_info(struct
+@@ -2682,9 +2672,9 @@ static void ieee80211_rx_bss_info(struct
  
  	bss->timestamp = beacon_timestamp;
  	bss->last_update = jiffies;
@@ -2716,7 +2716,7 @@
  	if (!beacon && !bss->probe_resp)
  		bss->probe_resp = true;
  
-@@ -2872,10 +2862,8 @@ static void ieee80211_rx_mgmt_beacon(str
+@@ -2879,10 +2869,8 @@ static void ieee80211_rx_mgmt_beacon(str
  
  	ieee802_11_parse_elems(mgmt->u.beacon.variable, len - baselen, &elems);
  
@@ -2729,7 +2729,7 @@
  
  	/* Do not send changes to driver if we are scanning. This removes
  	 * requirement that driver's bss_info_changed function needs to be
-@@ -3471,9 +3459,9 @@ static int ieee80211_sta_config_auth(str
+@@ -3478,9 +3466,9 @@ static int ieee80211_sta_config_auth(str
  		    !ieee80211_sta_match_ssid(ifsta, bss->ssid, bss->ssid_len))
  			continue;
  
@@ -2741,7 +2741,7 @@
  		}
  	}
  	if (selected)
-@@ -3549,10 +3537,12 @@ static int ieee80211_sta_create_ibss(str
+@@ -3556,10 +3544,12 @@ static int ieee80211_sta_create_ibss(str
  	bss->beacon_int = local->hw.conf.beacon_int;
  	bss->last_update = jiffies;
  	bss->capability = WLAN_CAPABILITY_IBSS;
@@ -2756,7 +2756,7 @@
  	bss->supp_rates_len = sband->n_bitrates;
  	pos = bss->supp_rates;
  	for (i = 0; i < sband->n_bitrates; i++) {
-@@ -4102,8 +4092,8 @@ ieee80211_sta_scan_result(struct net_dev
+@@ -4109,8 +4099,8 @@ ieee80211_sta_scan_result(struct net_dev
  
  	memset(&iwe, 0, sizeof(iwe));
  	iwe.cmd = IWEVQUAL;
@@ -2767,7 +2767,7 @@
  	iwe.u.qual.noise = bss->noise;
  	iwe.u.qual.updated = local->wstats_flags;
  	current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
-@@ -4235,6 +4225,7 @@ int ieee80211_sta_set_extra_ie(struct ne
+@@ -4242,6 +4232,7 @@ int ieee80211_sta_set_extra_ie(struct ne
  {
  	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
  	struct ieee80211_if_sta *ifsta = &sdata->u.sta;
@@ -2775,7 +2775,7 @@
  	kfree(ifsta->extra_ie);
  	if (len == 0) {
  		ifsta->extra_ie = NULL;
-@@ -4252,9 +4243,9 @@ int ieee80211_sta_set_extra_ie(struct ne
+@@ -4259,9 +4250,9 @@ int ieee80211_sta_set_extra_ie(struct ne
  }
  
  
@@ -2788,7 +2788,7 @@
  {
  	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
  	struct sta_info *sta;
-@@ -4278,7 +4269,7 @@ struct sta_info * ieee80211_ibss_add_sta
+@@ -4285,7 +4276,7 @@ struct sta_info * ieee80211_ibss_add_sta
  	if (!sta)
  		return NULL;
  
@@ -2798,8 +2798,8 @@
  	sta->supp_rates[local->hw.conf.channel->band] =
  		sdata->u.sta.supp_rates_bits[local->hw.conf.channel->band];
 diff -up linux-2.6.25.noarch/net/mac80211/wep.h.orig linux-2.6.25.noarch/net/mac80211/wep.h
---- linux-2.6.25.noarch/net/mac80211/wep.h.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wep.h	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wep.h.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wep.h	2008-05-21 14:46:57.000000000 -0400
 @@ -26,7 +26,7 @@ int ieee80211_wep_encrypt(struct ieee802
  			  struct ieee80211_key *key);
  int ieee80211_wep_decrypt(struct ieee80211_local *local, struct sk_buff *skb,
@@ -2810,8 +2810,8 @@
  ieee80211_rx_result
  ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx);
 diff -up linux-2.6.25.noarch/net/mac80211/wext.c.orig linux-2.6.25.noarch/net/mac80211/wext.c
---- linux-2.6.25.noarch/net/mac80211/wext.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wext.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wext.c.orig	2008-05-21 14:45:53.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wext.c	2008-05-21 14:46:57.000000000 -0400
 @@ -169,14 +169,26 @@ static int ieee80211_ioctl_giwrange(stru
  	range->num_encoding_sizes = 2;
  	range->max_encoding_tokens = NUM_DEFAULT_KEYS;
@@ -2845,7 +2845,7 @@
  	range->avg_qual.updated = local->wstats_flags;
  
  	range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
-@@ -996,8 +1008,8 @@ static struct iw_statistics *ieee80211_g
+@@ -995,8 +1007,8 @@ static struct iw_statistics *ieee80211_g
  		wstats->qual.noise = 0;
  		wstats->qual.updated = IW_QUAL_ALL_INVALID;
  	} else {
@@ -2857,8 +2857,8 @@
  		wstats->qual.updated = local->wstats_flags;
  	}
 diff -up linux-2.6.25.noarch/net/mac80211/rx.c.orig linux-2.6.25.noarch/net/mac80211/rx.c
---- linux-2.6.25.noarch/net/mac80211/rx.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/rx.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/rx.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/rx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -77,6 +77,134 @@ static inline int should_drop_frame(stru
  	return 0;
  }
@@ -3163,8 +3163,8 @@
  		if (net_ratelimit())
  			printk(KERN_DEBUG "%s: dropped frame "
 diff -up linux-2.6.25.noarch/net/mac80211/iface.c.orig linux-2.6.25.noarch/net/mac80211/iface.c
---- linux-2.6.25.noarch/net/mac80211/iface.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/iface.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/iface.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/iface.c	2008-05-21 14:46:57.000000000 -0400
 @@ -33,9 +33,8 @@ static void ieee80211_if_sdata_deinit(st
  {
  	int i;
@@ -3189,8 +3189,8 @@
  		msdata = IEEE80211_DEV_TO_SUB_IF(sdata->local->mdev);
  		sdata->bss = &msdata->u.ap;
 diff -up linux-2.6.25.noarch/net/mac80211/debugfs_sta.c.orig linux-2.6.25.noarch/net/mac80211/debugfs_sta.c
---- linux-2.6.25.noarch/net/mac80211/debugfs_sta.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/debugfs_sta.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/debugfs_sta.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/debugfs_sta.c	2008-05-21 14:46:57.000000000 -0400
 @@ -63,8 +63,8 @@ STA_FILE(tx_fragments, tx_fragments, LU)
  STA_FILE(tx_filtered, tx_filtered_count, LU);
  STA_FILE(tx_retry_failed, tx_retry_failed, LU);
@@ -3284,8 +3284,8 @@
  
  	debugfs_remove(sta->debugfs.dir);
 diff -up linux-2.6.25.noarch/net/mac80211/main.c.orig linux-2.6.25.noarch/net/mac80211/main.c
---- linux-2.6.25.noarch/net/mac80211/main.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/main.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/main.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/main.c	2008-05-21 14:46:57.000000000 -0400
 @@ -346,6 +346,7 @@ static int ieee80211_open(struct net_dev
  			goto err_del_interface;
  		}
@@ -3473,8 +3473,8 @@
  
  	/* add one default STA interface */
 diff -up linux-2.6.25.noarch/net/mac80211/debugfs.c.orig linux-2.6.25.noarch/net/mac80211/debugfs.c
---- linux-2.6.25.noarch/net/mac80211/debugfs.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/debugfs.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/debugfs.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/debugfs.c	2008-05-21 14:46:57.000000000 -0400
 @@ -197,45 +197,6 @@ DEBUGFS_STATS_FILE(rx_handlers_fragments
  DEBUGFS_STATS_FILE(tx_status_drop, 20, "%u",
  		   local->tx_status_drop);
@@ -3540,8 +3540,8 @@
  	DEBUGFS_STATS_DEL(dot11ACKFailureCount);
  	DEBUGFS_STATS_DEL(dot11RTSFailureCount);
 diff -up linux-2.6.25.noarch/net/mac80211/key.c.orig linux-2.6.25.noarch/net/mac80211/key.c
---- linux-2.6.25.noarch/net/mac80211/key.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/key.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/key.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/key.c	2008-05-21 14:46:57.000000000 -0400
 @@ -321,8 +321,15 @@ void ieee80211_key_link(struct ieee80211
  		 * some hardware cannot handle TKIP with QoS, so
  		 * we indicate whether QoS could be in use.
@@ -3569,8 +3569,8 @@
  						IEEE80211_KEY_FLAG_WMM_STA;
  			}
 diff -up linux-2.6.25.noarch/net/mac80211/tkip.c.orig linux-2.6.25.noarch/net/mac80211/tkip.c
---- linux-2.6.25.noarch/net/mac80211/tkip.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/tkip.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/tkip.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/tkip.c	2008-05-21 14:46:57.000000000 -0400
 @@ -8,23 +8,22 @@
   */
  
@@ -3800,8 +3800,8 @@
 -
 -
 diff -up linux-2.6.25.noarch/net/mac80211/wme.c.orig linux-2.6.25.noarch/net/mac80211/wme.c
---- linux-2.6.25.noarch/net/mac80211/wme.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wme.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wme.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wme.c	2008-05-21 14:46:57.000000000 -0400
 @@ -19,16 +19,22 @@
  #include "wme.h"
  
@@ -4130,7 +4130,7 @@
  		ieee80211_requeue(local, agg_queue);
 diff -up linux-2.6.25.noarch/net/mac80211/aes_ccm.h.orig linux-2.6.25.noarch/net/mac80211/aes_ccm.h
 --- linux-2.6.25.noarch/net/mac80211/aes_ccm.h.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/aes_ccm.h	2008-05-19 13:13:12.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/aes_ccm.h	2008-05-21 14:46:57.000000000 -0400
 @@ -14,7 +14,7 @@
  
  #define AES_BLOCK_LEN 16
@@ -4141,8 +4141,8 @@
  			       u8 *b_0, u8 *aad, u8 *data, size_t data_len,
  			       u8 *cdata, u8 *mic);
 diff -up linux-2.6.25.noarch/net/mac80211/mesh_plink.c.orig linux-2.6.25.noarch/net/mac80211/mesh_plink.c
---- linux-2.6.25.noarch/net/mac80211/mesh_plink.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/mesh_plink.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/mesh_plink.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/mesh_plink.c	2008-05-21 14:46:57.000000000 -0400
 @@ -79,7 +79,7 @@ void mesh_plink_dec_estab_count(struct i
   *
   * @sta: mes peer link to restart
@@ -4484,8 +4484,8 @@
  	}
  
 diff -up linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c.orig linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c
---- linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/mesh_hwmp.c	2008-05-21 14:46:57.000000000 -0400
 @@ -26,7 +26,7 @@ static inline u32 u32_field_get(u8 *preq
  {
  	if (ae)
@@ -4496,8 +4496,8 @@
  
  /* HWMP IE processing macros */
 diff -up linux-2.6.25.noarch/net/mac80211/ieee80211_i.h.orig linux-2.6.25.noarch/net/mac80211/ieee80211_i.h
---- linux-2.6.25.noarch/net/mac80211/ieee80211_i.h.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/ieee80211_i.h	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/ieee80211_i.h.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/ieee80211_i.h	2008-05-21 14:46:57.000000000 -0400
 @@ -82,7 +82,7 @@ struct ieee80211_sta_bss {
  	u16 capability; /* host byte order */
  	enum ieee80211_band band;
@@ -4558,8 +4558,8 @@
  void ieee80211_sta_tear_down_BA_sessions(struct net_device *dev, u8 *addr);
  u64 ieee80211_sta_get_rates(struct ieee80211_local *local,
 diff -up linux-2.6.25.noarch/net/mac80211/tkip.h.orig linux-2.6.25.noarch/net/mac80211/tkip.h
---- linux-2.6.25.noarch/net/mac80211/tkip.h.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/tkip.h	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/tkip.h.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/tkip.h	2008-05-21 14:46:57.000000000 -0400
 @@ -13,8 +13,8 @@
  #include <linux/crypto.h>
  #include "key.h"
@@ -4572,8 +4572,8 @@
  				  u16 *phase1key);
  void ieee80211_tkip_gen_rc4key(struct ieee80211_key *key, u8 *ta,
 diff -up linux-2.6.25.noarch/net/mac80211/cfg.c.orig linux-2.6.25.noarch/net/mac80211/cfg.c
---- linux-2.6.25.noarch/net/mac80211/cfg.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/cfg.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/cfg.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/cfg.c	2008-05-21 14:46:57.000000000 -0400
 @@ -602,6 +602,7 @@ static void sta_apply_parameters(struct 
  	 */
  
@@ -4591,8 +4591,8 @@
  
  	/*
 diff -up linux-2.6.25.noarch/net/mac80211/sta_info.h.orig linux-2.6.25.noarch/net/mac80211/sta_info.h
---- linux-2.6.25.noarch/net/mac80211/sta_info.h.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/sta_info.h	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/sta_info.h.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/sta_info.h	2008-05-21 14:46:57.000000000 -0400
 @@ -129,23 +129,19 @@ enum plink_state {
   *
   * @tid_state_rx: TID's state in Rx session state machine.
@@ -4738,8 +4738,8 @@
  /* Maximum number of concurrently registered stations */
  #define MAX_STA_COUNT 2007
 diff -up linux-2.6.25.noarch/net/mac80211/tx.c.orig linux-2.6.25.noarch/net/mac80211/tx.c
---- linux-2.6.25.noarch/net/mac80211/tx.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/tx.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/tx.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/tx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -256,7 +256,7 @@ ieee80211_tx_h_check_assoc(struct ieee80
  	if (tx->flags & IEEE80211_TX_PS_BUFFERED)
  		return TX_CONTINUE;
@@ -4843,8 +4843,8 @@
  	dev->stats.tx_packets++;
  	dev->stats.tx_bytes += skb->len;
 diff -up linux-2.6.25.noarch/net/mac80211/sta_info.c.orig linux-2.6.25.noarch/net/mac80211/sta_info.c
---- linux-2.6.25.noarch/net/mac80211/sta_info.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/sta_info.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/sta_info.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/sta_info.c	2008-05-21 14:46:57.000000000 -0400
 @@ -202,14 +202,12 @@ void sta_info_destroy(struct sta_info *s
  		dev_kfree_skb_any(skb);
  
@@ -4907,8 +4907,8 @@
  			atomic_dec(&sdata->bss->num_sta_ps);
  		__sta_info_clear_tim_bit(sdata->bss, *sta);
 diff -up linux-2.6.25.noarch/net/mac80211/aes_ccm.c.orig linux-2.6.25.noarch/net/mac80211/aes_ccm.c
---- linux-2.6.25.noarch/net/mac80211/aes_ccm.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/aes_ccm.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/aes_ccm.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/aes_ccm.c	2008-05-21 14:46:57.000000000 -0400
 @@ -134,7 +134,7 @@ int ieee80211_aes_ccm_decrypt(struct cry
  }
  
@@ -4919,8 +4919,8 @@
  	struct crypto_cipher *tfm;
  
 diff -up linux-2.6.25.noarch/net/mac80211/wep.c.orig linux-2.6.25.noarch/net/mac80211/wep.c
---- linux-2.6.25.noarch/net/mac80211/wep.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wep.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wep.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wep.c	2008-05-21 14:46:57.000000000 -0400
 @@ -337,7 +337,7 @@ static int wep_encrypt_skb(struct ieee80
  		if (ieee80211_wep_encrypt(tx->local, skb, tx->key))
  			return -1;
@@ -4931,8 +4931,8 @@
  			if (!ieee80211_wep_add_iv(tx->local, skb, tx->key))
  				return -1;
 diff -up linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c.orig linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c
---- linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/debugfs_netdev.c	2008-05-21 14:46:57.000000000 -0400
 @@ -528,7 +528,7 @@ void ieee80211_debugfs_change_if_type(st
  	add_files(sdata);
  }
@@ -4943,8 +4943,8 @@
  			 void *ndev)
  {
 diff -up linux-2.6.25.noarch/net/mac80211/wpa.c.orig linux-2.6.25.noarch/net/mac80211/wpa.c
---- linux-2.6.25.noarch/net/mac80211/wpa.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wpa.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-05-21 14:46:57.000000000 -0400
 @@ -228,7 +228,7 @@ static int tkip_encrypt_skb(struct ieee8
  					    0x7f),
  				      (u8) key->u.tkip.iv16);
@@ -4983,7 +4983,7 @@
  
 diff -up linux-2.6.25.noarch/net/wireless/radiotap.c.orig linux-2.6.25.noarch/net/wireless/radiotap.c
 --- linux-2.6.25.noarch/net/wireless/radiotap.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-05-19 13:13:12.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-05-21 14:46:57.000000000 -0400
 @@ -59,23 +59,21 @@ int ieee80211_radiotap_iterator_init(
  		return -EINVAL;
  
@@ -5025,8 +5025,8 @@
  			} else
  				/* no more bitmaps: end */
 diff -up linux-2.6.25.noarch/net/wireless/core.c.orig linux-2.6.25.noarch/net/wireless/core.c
---- linux-2.6.25.noarch/net/wireless/core.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/core.c	2008-05-19 13:13:12.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/core.c.orig	2008-05-21 11:36:28.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/core.c	2008-05-21 14:46:57.000000000 -0400
 @@ -143,8 +143,11 @@ void cfg80211_put_dev(struct cfg80211_re
  int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
  			char *newname)
@@ -5090,8 +5090,8 @@
  
  /* exported functions */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c.orig linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c
---- linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/p54/p54common.c	2008-05-21 14:46:57.000000000 -0400
 @@ -146,10 +146,10 @@ void p54_parse_firmware(struct ieee80211
  
  	if (priv->fw_var >= 0x300) {
@@ -5201,8 +5201,8 @@
  
  	dev->extra_tx_headroom = sizeof(struct p54_control_hdr) + 4 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h.orig linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h
---- linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/p54/p54.h	2008-05-21 14:46:57.000000000 -0400
 @@ -64,7 +64,7 @@ struct p54_common {
  	unsigned int tx_hdr_len;
  	void *cached_vdcf;
@@ -5213,8 +5213,8 @@
  
  int p54_rx(struct ieee80211_hw *dev, struct sk_buff *skb);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/phy.c	2008-05-21 14:46:57.000000000 -0400
 @@ -28,6 +28,7 @@
  #include <linux/delay.h>
  #include <linux/io.h>
@@ -5704,7 +5704,7 @@
  		for (j = 0; j < 16; j++) {
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/lo.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/lo.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43/lo.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/lo.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/lo.c	2008-05-21 14:46:57.000000000 -0400
 @@ -36,17 +36,28 @@
  #include <linux/sched.h>
  
@@ -6633,8 +6633,8 @@
 +	}
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/pio.c	2008-05-21 14:46:57.000000000 -0400
 @@ -611,18 +611,16 @@ void b43_pio_get_tx_stats(struct b43_wld
  {
  	const int nr_queues = dev->wl->hw->queues;
@@ -6658,8 +6658,8 @@
  	}
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/main.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/main.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/main.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/main.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/main.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/main.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1182,10 +1182,10 @@ static void handle_irq_noise(struct b43_
  	/* Get the noise samples. */
  	B43_WARN_ON(dev->noisecalc.nr_samples >= 8);
@@ -6808,7 +6808,7 @@
  	if (is_valid_ether_addr(sprom->et1mac))
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.c	2008-05-21 14:46:57.000000000 -0400
 @@ -270,24 +270,22 @@ static int restart_write_file(struct b43
  	return err;
  }
@@ -6934,8 +6934,8 @@
  #undef add_dyn_dbg
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/xmit.c	2008-05-21 14:46:57.000000000 -0400
 @@ -235,7 +235,7 @@ int b43_generate_txhdr(struct b43_wldev 
  
  	plcp_fragment_len = fragment_len + FCS_LEN;
@@ -6961,8 +6961,8 @@
  
  	if (phystat0 & B43_RX_PHYST0_OFDM)
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/main.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43/main.h
---- linux-2.6.25.noarch/drivers/net/wireless/b43/main.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/main.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/main.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/main.h	2008-05-21 14:46:57.000000000 -0400
 @@ -114,4 +114,7 @@ void b43_controller_restart(struct b43_w
  #define B43_PS_ASLEEP	(1 << 3)	/* Force device asleep */
  void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags);
@@ -6973,7 +6973,7 @@
  #endif /* B43_MAIN_H_ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/phy.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43/phy.h
 --- linux-2.6.25.noarch/drivers/net/wireless/b43/phy.h.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/phy.h	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/phy.h	2008-05-21 14:46:57.000000000 -0400
 @@ -225,7 +225,6 @@ int b43_phy_init(struct b43_wldev *dev);
  void b43_set_rx_antenna(struct b43_wldev *dev, int antenna);
  
@@ -7013,7 +7013,7 @@
  #define B43_TXCTL_PA2DB		0x20	/* PA Gain 2dB */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/lo.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43/lo.h
 --- linux-2.6.25.noarch/drivers/net/wireless/b43/lo.h.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/lo.h	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/lo.h	2008-05-21 14:46:57.000000000 -0400
 @@ -10,82 +10,63 @@ struct b43_loctl {
  	/* Control values. */
  	s8 i;
@@ -7161,8 +7161,8 @@
  
  #endif /* B43_LO_H_ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/dma.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1427,18 +1427,16 @@ void b43_dma_get_tx_stats(struct b43_wld
  {
  	const int nr_queues = dev->wl->hw->queues;
@@ -7187,7 +7187,7 @@
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.h
 --- linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.h.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.h	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/debugfs.h	2008-05-21 14:46:57.000000000 -0400
 @@ -10,6 +10,7 @@ enum b43_dyndbg {		/* Dynamic debugging 
  	B43_DBG_DMAVERBOSE,
  	B43_DBG_PWORK_FAST,
@@ -7197,8 +7197,8 @@
  };
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h
---- linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/b43.h	2008-05-21 14:46:57.000000000 -0400
 @@ -410,8 +410,7 @@ enum {
  #define B43_IRQ_TIMEOUT			0x80000000
  
@@ -7233,8 +7233,8 @@
  #define INT_TO_Q52(i)	((i) << 2)
  /* Convert a Q5.2 value to an integer (precision loss!) */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43/nphy.c	2008-05-21 14:46:57.000000000 -0400
 @@ -29,8 +29,6 @@
  #include "nphy.h"
  #include "tables_nphy.h"
@@ -7245,8 +7245,8 @@
  void b43_nphy_set_rxantenna(struct b43_wldev *dev, int antenna)
  {//TODO
 diff -up linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig linux-2.6.25.noarch/drivers/net/wireless/airo.c
---- linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig	2008-05-19 13:11:20.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/airo.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig	2008-05-21 11:36:32.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/airo.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1148,7 +1148,6 @@ static u8 airo_dbm_to_pct (tdsRssiEntry 
  static void airo_networks_free(struct airo_info *ai);
  
@@ -7415,8 +7415,8 @@
  	}
  	buffer = (u16*)skb_put (skb, len + hdrlen);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c
---- linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/zd1211rw/zd_mac.c	2008-05-21 14:46:57.000000000 -0400
 @@ -638,7 +638,7 @@ static int filter_ack(struct ieee80211_h
  
  			memset(&status, 0, sizeof(status));
@@ -7498,7 +7498,7 @@
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/phy.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/phy.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/phy.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/phy.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/phy.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1088,7 +1088,7 @@ static void b43legacy_phy_initg(struct b
  		 * the value 0x7FFFFFFF here. I think that is some weird
  		 * compiler optimization in the original driver.
@@ -7557,7 +7557,7 @@
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/pio.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/pio.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/pio.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/pio.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/pio.c	2008-05-21 14:46:57.000000000 -0400
 @@ -525,13 +525,11 @@ void b43legacy_pio_get_tx_stats(struct b
  {
  	struct b43legacy_pio *pio = &dev->pio;
@@ -7577,7 +7577,7 @@
  static void pio_rx_error(struct b43legacy_pioqueue *queue,
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/radio.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/radio.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/radio.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/radio.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/radio.c	2008-05-21 14:46:57.000000000 -0400
 @@ -357,7 +357,7 @@ void b43legacy_nrssi_hw_update(struct b4
  	for (i = 0; i < 64; i++) {
  		tmp = b43legacy_nrssi_hw_read(dev, i);
@@ -7633,8 +7633,8 @@
  	pamp = b43legacy_get_txgain_freq_power_amp(txpower);
  	pamp <<= 5;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/main.c	2008-05-21 14:46:57.000000000 -0400
 @@ -846,10 +846,10 @@ static void handle_irq_noise(struct b43l
  	/* Get the noise samples. */
  	B43legacy_WARN_ON(dev->noisecalc.nr_samples >= 8);
@@ -7675,8 +7675,8 @@
  	SET_IEEE80211_DEV(hw, dev->dev);
  	if (is_valid_ether_addr(sprom->et1mac))
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c
---- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/xmit.c	2008-05-21 14:46:57.000000000 -0400
 @@ -232,7 +232,7 @@ static int generate_txhdr_fw3(struct b43
  
  	plcp_fragment_len = fragment_len + FCS_LEN;
@@ -7703,7 +7703,7 @@
  		status.rate_idx = b43legacy_plcp_get_bitrate_idx_ofdm(plcp, false);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/dma.c.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/dma.c
 --- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/dma.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/dma.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/dma.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1455,18 +1455,16 @@ void b43legacy_dma_get_tx_stats(struct b
  {
  	const int nr_queues = dev->wl->hw->queues;
@@ -7727,8 +7727,8 @@
  	}
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h
---- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/b43legacy/b43legacy.h	2008-05-21 14:46:57.000000000 -0400
 @@ -823,23 +823,6 @@ void b43legacydbg(struct b43legacy_wl *w
  # define b43legacydbg(wl, fmt...) do { /* nothing */ } while (0)
  #endif /* DEBUG */
@@ -7754,9 +7754,9 @@
  #define Q52_FMT		"%u.%u"
  #define Q52_ARG(q52)	((q52) / 4), (((q52) & 3) * 100 / 4)
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c.orig linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c
---- linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c	2008-05-19 13:13:11.000000000 -0400
-@@ -261,8 +261,8 @@ static void rtl8187_rx_cb(struct urb *ur
+--- linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c.orig	2008-05-21 14:45:53.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c	2008-05-21 14:46:57.000000000 -0400
+@@ -271,8 +271,8 @@ static void rtl8187_rx_cb(struct urb *ur
  	}
  
  	rx_status.antenna = (hdr->signal >> 7) & 1;
@@ -7767,7 +7767,7 @@
  	rx_status.rate_idx = rate;
  	rx_status.freq = dev->conf.channel->center_freq;
  	rx_status.band = dev->conf.channel->band;
-@@ -740,11 +740,11 @@ static int __devinit rtl8187_probe(struc
+@@ -750,11 +750,11 @@ static int __devinit rtl8187_probe(struc
  
  	priv->mode = IEEE80211_IF_TYPE_MNTR;
  	dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING |
@@ -7783,8 +7783,8 @@
  	eeprom.data = dev;
  	eeprom.register_read = rtl8187_eeprom_register_read;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/atmel.c.orig linux-2.6.25.noarch/drivers/net/wireless/atmel.c
---- linux-2.6.25.noarch/drivers/net/wireless/atmel.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/atmel.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/atmel.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/atmel.c	2008-05-21 14:46:57.000000000 -0400
 @@ -433,7 +433,6 @@ struct atmel_private {
  	struct net_device *dev;
  	struct device *sys_dev;
@@ -7964,8 +7964,8 @@
  	dev->do_ioctl = atmel_ioctl;
  	dev->irq = irq;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c
---- linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c.orig	2008-05-19 13:11:20.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c.orig	2008-05-21 11:36:32.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c	2008-05-21 14:46:57.000000000 -0400
 @@ -702,7 +702,7 @@ static int lbs_thread(void *data)
  
  		if (shouldsleep) {
@@ -8095,8 +8095,8 @@
  }
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h
---- linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.h	2008-05-21 14:46:57.000000000 -0400
 @@ -34,7 +34,6 @@ int lbs_update_hw_spec(struct lbs_privat
  int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action,
  		    struct cmd_ds_mesh_access *cmd);
@@ -8115,8 +8115,8 @@
  int lbs_cmd_802_11_inactivity_timeout(struct lbs_private *priv,
  				      uint16_t cmd_action, uint16_t *timeout);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c
---- linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/cmd.c	2008-05-21 14:46:57.000000000 -0400
 @@ -697,38 +697,6 @@ static int lbs_cmd_802_11_rate_adapt_rat
  }
  
@@ -8157,8 +8157,8 @@
   *
   *  @param priv    	A pointer to struct lbs_private structure
 diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h
---- linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/decl.h	2008-05-21 14:46:57.000000000 -0400
 @@ -64,9 +64,9 @@ void lbs_send_iwevcustom_event(struct lb
  struct chan_freq_power *lbs_get_region_cfp_table(u8 region,
  	int *cfp_no);
@@ -8172,8 +8172,8 @@
  
  int lbs_update_channel(struct lbs_private *priv);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c.orig linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c
---- linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rtl8180_dev.c	2008-05-21 14:46:57.000000000 -0400
 @@ -132,8 +132,8 @@ static void rtl8180_handle_rx(struct iee
  
  			rx_status.antenna = (flags2 >> 15) & 1;
@@ -8200,7 +8200,7 @@
  	reg &= RTL818X_TX_CONF_HWVER_MASK;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/arlan-main.c.orig linux-2.6.25.noarch/drivers/net/wireless/arlan-main.c
 --- linux-2.6.25.noarch/drivers/net/wireless/arlan-main.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/arlan-main.c	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/arlan-main.c	2008-05-21 14:46:57.000000000 -0400
 @@ -125,7 +125,7 @@ static inline int arlan_drop_tx(struct n
  {
  	struct arlan_private *priv = netdev_priv(dev);
@@ -8285,8 +8285,8 @@
  
  
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000-hw.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000-hw.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000-hw.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,133 @@
 +/******************************************************************************
 + *
@@ -8422,8 +8422,8 @@
 +#endif /* __iwl_5000_hw_h__ */
 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-hcmd.c	2008-05-21 14:46:57.000000000 -0400
 @@ -31,7 +31,7 @@
  #include <linux/version.h>
  #include <net/mac80211.h>
@@ -8452,8 +8452,8 @@
  		IWL_ERROR("Bad return from %s (0x%08X)\n",
  			get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h	2008-05-19 13:17:52.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h	2008-05-21 14:46:57.000000000 -0400
 @@ -1,2716 +0,0 @@
 -/******************************************************************************
 - *
@@ -11172,8 +11172,8 @@
 -
 -#endif				/* __iwl4965_commands_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Makefile	2008-05-21 14:46:57.000000000 -0400
 @@ -1,13 +1,20 @@
  obj-$(CONFIG_IWLCORE)	+= iwlcore.o
 -iwlcore-objs 		:= iwl-core.o iwl-eeprom.o iwl-hcmd.o
@@ -11198,8 +11198,8 @@
 +
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.h	2008-05-21 14:46:57.000000000 -0400
 @@ -106,7 +106,7 @@ enum {
  	EEPROM_CHANNEL_ACTIVE = (1 << 3),	/* active scanning allowed */
  	EEPROM_CHANNEL_RADAR = (1 << 4),	/* radar detection required */
@@ -11546,8 +11546,8 @@
  int iwl_init_channel_map(struct iwl_priv *priv);
  void iwl_free_channel_map(struct iwl_priv *priv);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.c	2008-05-21 14:46:57.000000000 -0400
 @@ -28,15 +28,94 @@
   *****************************************************************************/
  
@@ -11800,8 +11800,8 @@
  #ifdef CONFIG_IWLWIFI_DEBUG
  static void iwl_dump_lq_cmd(struct iwl_priv *priv,
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c	2008-05-19 13:15:37.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c	2008-05-21 14:46:57.000000000 -0400
 @@ -28,7 +28,6 @@
  #include <linux/skbuff.h>
  #include <linux/wireless.h>
@@ -13778,8 +13778,8 @@
  	if (is_legacy(lq_type))
  		i = IWL_RATE_54M_INDEX;
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,104 @@
 +/******************************************************************************
 + *
@@ -13886,8 +13886,8 @@
 +
 +#endif /* __iwl_calib_h__ */
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-commands.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-commands.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-commands.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,2805 @@
 +/******************************************************************************
 + *
@@ -16695,8 +16695,8 @@
 +
 +#endif				/* __iwl4965_commands_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-csr.h	2008-05-21 14:46:57.000000000 -0400
 @@ -95,8 +95,7 @@
  #define CSR_GIO_CHICKEN_BITS    (CSR_BASE+0x100)
  #define CSR_LED_REG             (CSR_BASE+0x094)
@@ -16772,8 +16772,8 @@
  #define HBUS_BASE	(0x400)
  /*
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.c	2008-05-21 14:46:57.000000000 -0400
 @@ -34,9 +34,11 @@
  struct iwl_priv; /* FIXME: remove */
  #include "iwl-debug.h"
@@ -17636,8 +17636,8 @@
 +EXPORT_SYMBOL(iwl_verify_ucode);
 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c	2008-05-21 14:46:57.000000000 -0400
 @@ -520,7 +520,7 @@ static void iwl3945_add_radiotap(struct 
  {
  	/* First cache any information we need before we overwrite
@@ -17712,8 +17712,8 @@
  		    CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX);
  
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-fh.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-fh.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-fh.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,391 @@
 +/******************************************************************************
 + *
@@ -18107,8 +18107,8 @@
 +#define FH_RSCSR_FRAME_SIZE_MSK	(0x00003FFF)	/* bits 0-13 */
 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-eeprom.c	2008-05-21 14:46:57.000000000 -0400
 @@ -68,8 +68,8 @@
  
  #include <net/mac80211.h>
@@ -18359,8 +18359,8 @@
  				       eeprom_ch_info[ch].flags,
  				       eeprom_ch_info[ch].max_power_avg,
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rfkill.c	2008-05-21 14:46:57.000000000 -0400
 @@ -33,7 +33,7 @@
  #include <net/mac80211.h>
  
@@ -18371,8 +18371,8 @@
  #include "iwl-helpers.h"
  
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.c
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.c	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-calib.c	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,779 @@
 +/******************************************************************************
 + *
@@ -19154,8 +19154,8 @@
 +EXPORT_SYMBOL(iwl_chain_noise_calibration);
 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c	2008-05-21 14:46:57.000000000 -0400
 @@ -46,14 +46,15 @@
  #include <asm/div64.h>
  
@@ -22608,8 +22608,8 @@
  	iwl4965_rate_control_unregister();
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c	2008-05-21 14:46:57.000000000 -0400
 @@ -39,57 +39,21 @@
  #include <asm/unaligned.h>
  
@@ -25742,8 +25742,8 @@
 +module_param_named(fw_restart4965, iwl4965_mod_params.restart_fw, int, 0444);
 +MODULE_PARM_DESC(fw_restart4965, "restart firmware in case of error");
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rx.c
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rx.c	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-rx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,422 @@
 +/******************************************************************************
 + *
@@ -26168,8 +26168,8 @@
 +}
 +
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debugfs.c	2008-05-21 14:46:57.000000000 -0400
 @@ -34,7 +34,7 @@
  #include <net/mac80211.h>
  
@@ -26254,8 +26254,8 @@
  	DEBUGFS_REMOVE(priv->dbgfs->dbgfs_data_files.file_tx_statistics);
  	DEBUGFS_REMOVE(priv->dbgfs->dbgfs_data_files.file_sram);
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-tx.c
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-tx.c	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-tx.c	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,373 @@
 +/******************************************************************************
 + *
@@ -26631,8 +26631,8 @@
 +	return ret;
 +}
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h	2008-05-21 14:46:57.000000000 -0400
 @@ -27,12 +27,13 @@
  #ifndef __iwl_4965_rs_h__
  #define __iwl_4965_rs_h__
@@ -26791,8 +26791,8 @@
  static inline u8 iwl4965_get_prev_ieee_rate(u8 rate_index)
  {
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000.c
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000.c	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-5000.c	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,560 @@
 +/******************************************************************************
 + *
@@ -27355,8 +27355,8 @@
 +module_param_named(fw_restart50, iwl50_mod_params.restart_fw, int, 0444);
 +MODULE_PARM_DESC(fw_restart50, "restart firmware in case of error");
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/Kconfig	2008-05-21 14:46:57.000000000 -0400
 @@ -14,6 +14,15 @@ config IWLWIFI_LEDS
  	bool
  	default n
@@ -27433,8 +27433,8 @@
          bool "Iwlwifi debugfs support"
          depends on IWLCORE && IWLWIFI_DEBUG && MAC80211_DEBUGFS
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h	2008-05-21 14:46:57.000000000 -0400
 @@ -62,13 +62,18 @@
   *****************************************************************************/
  /*
@@ -28141,8 +28141,8 @@
  
  	/* __le32 rb_closed_stts_rb_num:12; */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-core.h	2008-05-21 14:46:57.000000000 -0400
 @@ -87,19 +87,32 @@ struct iwl_hcmd_ops {
  };
  struct iwl_hcmd_utils_ops {
@@ -28281,8 +28281,8 @@
 +
  #endif /* __iwl_core_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-led.c	2008-05-21 14:46:57.000000000 -0400
 @@ -39,7 +39,7 @@
  #include <linux/etherdevice.h>
  #include <asm/unaligned.h>
@@ -28293,8 +28293,8 @@
  #include "iwl-io.h"
  #include "iwl-helpers.h"
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.c
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.c	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.c	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,423 @@
 +/******************************************************************************
 + *
@@ -28720,8 +28720,8 @@
 +}
 +EXPORT_SYMBOL(iwl_power_temperature_change);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-prph.h	2008-05-21 14:46:57.000000000 -0400
 @@ -239,40 +239,284 @@
  #define ALM_SCD_SBYP_MODE_1_REG             (ALM_SCD_BASE + 0x02C)
  #define ALM_SCD_SBYP_MODE_2_REG             (ALM_SCD_BASE + 0x030)
@@ -29045,8 +29045,8 @@
 +
  #endif				/* __iwl_prph_h__ */
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-power.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,76 @@
 +/******************************************************************************
 + *
@@ -29125,8 +29125,8 @@
 +
 +#endif  /* __iwl_power_setting_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h	2008-05-19 13:18:00.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h	2008-05-21 14:46:57.000000000 -0400
 @@ -1,1262 +0,0 @@
 -/******************************************************************************
 - *
@@ -30391,8 +30391,8 @@
 -
 -#endif				/* __iwl4965_4965_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h	2008-05-21 14:46:57.000000000 -0400
 @@ -886,6 +886,7 @@ struct iwl3945_priv {
  	struct work_struct report_work;
  	struct work_struct request_scan;
@@ -30414,8 +30414,8 @@
  {
  	return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-debug.h	2008-05-21 14:46:57.000000000 -0400
 @@ -30,26 +30,16 @@
  #define __iwl_debug_h__
  
@@ -30466,8 +30466,8 @@
  
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h	2008-05-21 14:46:57.000000000 -0400
 @@ -126,7 +126,7 @@ enum {
  	EEPROM_CHANNEL_ACTIVE = (1 << 3),	/* active scanning allowed */
  	EEPROM_CHANNEL_RADAR = (1 << 4),	/* radar detection required */
@@ -30496,8 +30496,8 @@
  #define FH_BASE     (0x800)
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c	2008-05-21 14:46:57.000000000 -0400
 @@ -2391,7 +2391,8 @@ static void iwl3945_build_tx_cmd_hwcrypt
  				      struct sk_buff *skb_frag,
  				      int last_frag)
@@ -30669,8 +30669,8 @@
  	/* 4 EDCA QOS priorities */
  	hw->queues = 4;
 diff -up /dev/null linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-dev.h
---- /dev/null	2008-05-19 07:57:11.730003501 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-dev.h	2008-05-19 13:13:11.000000000 -0400
+--- /dev/null	2008-05-21 09:13:08.240005268 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-dev.h	2008-05-21 14:46:57.000000000 -0400
 @@ -0,0 +1,1263 @@
 +/******************************************************************************
 + *
@@ -31936,8 +31936,8 @@
 +
 +#endif				/* __iwl4965_4965_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-sta.h	2008-05-21 14:46:57.000000000 -0400
 @@ -29,21 +29,14 @@
  #ifndef __iwl_sta_h__
  #define __iwl_sta_h__
@@ -31963,8 +31963,8 @@
 +				struct ieee80211_key_conf *key, u8 sta_id);
  #endif /* __iwl_sta_h__ */
 diff -up linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
---- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c	2008-05-21 14:46:57.000000000 -0400
 @@ -29,7 +29,6 @@
  #include <linux/skbuff.h>
  #include <linux/wireless.h>
@@ -31974,8 +31974,8 @@
  #include <linux/netdevice.h>
  #include <linux/etherdevice.h>
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00.h	2008-05-21 14:46:57.000000000 -0400
 @@ -44,7 +44,7 @@
  /*
   * Module information.
@@ -32052,8 +32052,8 @@
  
  /*
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c	2008-05-21 14:46:57.000000000 -0400
 @@ -186,7 +186,7 @@ int rt2x00usb_write_tx_data(struct rt2x0
  		ERROR(rt2x00dev,
  		      "Arrived at non-free entry in the non-full queue %d.\n"
@@ -32073,8 +32073,8 @@
  
  	/*
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c	2008-05-21 14:46:57.000000000 -0400
 @@ -525,9 +525,6 @@ void rt2x00lib_txdone(struct queue_entry
  			rt2x00dev->low_level_stats.dot11ACKFailureCount++;
  	}
@@ -32108,8 +32108,8 @@
  
  	/*
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2400pci.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1055,11 +1055,11 @@ static void rt2400pci_write_tx_desc(stru
   * TX data initialization
   */
@@ -32228,8 +32228,8 @@
  	return 0;
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500usb.c	2008-05-21 14:46:57.000000000 -0400
 @@ -76,10 +76,10 @@ static inline void rt2500usb_register_mu
  						const unsigned int offset,
  						void *value, const u16 length)
@@ -32307,8 +32307,8 @@
  	return 0;
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h	2008-05-21 14:46:57.000000000 -0400
 @@ -47,6 +47,20 @@
  #define REGISTER_TIMEOUT		500
  #define REGISTER_TIMEOUT_FIRMWARE	1000
@@ -32348,8 +32348,8 @@
  
  /*
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c	2008-05-21 14:46:57.000000000 -0400
 @@ -81,6 +81,7 @@ int rt2x00mac_tx(struct ieee80211_hw *hw
  {
  	struct rt2x00_dev *rt2x00dev = hw->priv;
@@ -32456,8 +32456,8 @@
  {
  	struct rt2x00_dev *rt2x00dev = hw->priv;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h	2008-05-21 14:46:57.000000000 -0400
 @@ -54,6 +54,17 @@
  
  /**
@@ -32529,8 +32529,8 @@
  	ENTRY_BCN_ASSIGNED,
  	ENTRY_OWNER_DEVICE_DATA,
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/Kconfig	2008-05-21 14:46:57.000000000 -0400
 @@ -5,12 +5,16 @@ config RT2X00
  	  This will enable the experimental support for the Ralink drivers,
  	  developed in the rt2x00 project <http://rt2x00.serialmonkey.com>.
@@ -32704,8 +32704,8 @@
  config RT2X00_DEBUG
  	bool "Ralink debug output"
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2500pci.c	2008-05-21 14:46:57.000000000 -0400
 @@ -317,8 +317,7 @@ static void rt2500pci_config_intf(struct
  				  struct rt2x00intf_conf *conf,
  				  const unsigned int flags)
@@ -32816,8 +32816,8 @@
  	return 0;
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c	2008-05-21 14:46:57.000000000 -0400
 @@ -30,7 +30,7 @@
  #include "rt2x00lib.h"
  
@@ -32840,8 +32840,8 @@
  
  	return NULL;
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c	2008-05-19 13:16:37.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt61pci.c	2008-05-21 14:46:57.000000000 -0400
 @@ -1591,11 +1591,11 @@ static void rt61pci_write_tx_desc(struct
   * TX data initialization
   */
@@ -32916,8 +32916,8 @@
  	return 0;
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c	2008-05-21 14:46:57.000000000 -0400
 @@ -53,7 +53,7 @@ int rt2x00pci_write_tx_data(struct rt2x0
  		ERROR(rt2x00dev,
  		      "Arrived at non-free entry in the non-full queue %d.\n"
@@ -32928,8 +32928,8 @@
  	}
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h	2008-05-21 14:46:57.000000000 -0400
 @@ -98,8 +98,9 @@ int rt2x00pci_write_tx_data(struct rt2x0
   * struct queue_entry_priv_pci_rx: Per RX entry PCI specific information
   *
@@ -32953,8 +32953,8 @@
   */
  struct queue_entry_priv_pci_tx {
 diff -up linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c
---- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rt2x00/rt73usb.c	2008-05-21 14:46:57.000000000 -0400
 @@ -74,10 +74,10 @@ static inline void rt73usb_register_mult
  					      const unsigned int offset,
  					      void *value, const u32 length)
@@ -33070,45 +33070,9 @@
  	return 0;
  }
 diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c
---- linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c	2008-05-19 13:13:11.000000000 -0400
-@@ -4119,6 +4119,7 @@ static int ath5k_hw_proc_5210_rx_status(
- 	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
- 		AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
- 	rs->rs_status = 0;
-+	rs->rs_phyerr = 0;
- 
- 	/*
- 	 * Key table status
-@@ -4145,7 +4146,7 @@ static int ath5k_hw_proc_5210_rx_status(
- 		if (rx_status->rx_status_1 &
- 				AR5K_5210_RX_DESC_STATUS1_PHY_ERROR) {
- 			rs->rs_status |= AR5K_RXERR_PHY;
--			rs->rs_phyerr = AR5K_REG_MS(rx_status->rx_status_1,
-+			rs->rs_phyerr |= AR5K_REG_MS(rx_status->rx_status_1,
- 					   AR5K_5210_RX_DESC_STATUS1_PHY_ERROR);
- 		}
- 
-@@ -4193,6 +4194,7 @@ static int ath5k_hw_proc_5212_rx_status(
- 	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
- 		AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
- 	rs->rs_status = 0;
-+	rs->rs_phyerr = 0;
- 
- 	/*
- 	 * Key table status
-@@ -4215,7 +4217,7 @@ static int ath5k_hw_proc_5212_rx_status(
- 		if (rx_status->rx_status_1 &
- 				AR5K_5212_RX_DESC_STATUS1_PHY_ERROR) {
- 			rs->rs_status |= AR5K_RXERR_PHY;
--			rs->rs_phyerr = AR5K_REG_MS(rx_err->rx_error_1,
-+			rs->rs_phyerr |= AR5K_REG_MS(rx_err->rx_error_1,
- 					   AR5K_RX_DESC_ERROR1_PHY_ERROR_CODE);
- 		}
- 
 diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c
---- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c.orig	2008-05-21 14:45:53.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c	2008-05-21 14:47:01.000000000 -0400
 @@ -458,13 +458,11 @@ ath5k_pci_probe(struct pci_dev *pdev,
  
  	/* Initialize driver private data */
@@ -33153,16 +33117,7 @@
  		list_move_tail(&bf->list, &sc->txbuf);
  		sc->txbuf_len++;
  		spin_unlock_bh(&sc->txbuflock);
-@@ -1787,6 +1785,8 @@ ath5k_tasklet_rx(unsigned long data)
- 
- 	spin_lock(&sc->rxbuflock);
- 	do {
-+		rxs.flag = 0;
-+
- 		if (unlikely(list_empty(&sc->rxbuf))) {
- 			ATH5K_WARN(sc, "empty rx buf pool\n");
- 			break;
-@@ -1893,20 +1893,9 @@ accept:
+@@ -1895,20 +1893,9 @@ accept:
  		rxs.freq = sc->curchan->center_freq;
  		rxs.band = sc->curband->band;
  
@@ -33185,7 +33140,7 @@
  
  		rxs.antenna = rs.rs_antenna;
  		rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate);
-@@ -1979,10 +1968,10 @@ ath5k_tx_processq(struct ath5k_softc *sc
+@@ -1981,10 +1968,10 @@ ath5k_tx_processq(struct ath5k_softc *sc
  		}
  
  		ieee80211_tx_status(sc->hw, skb, &txs);
@@ -33199,8 +33154,8 @@
  		sc->txbuf_len++;
  		spin_unlock(&sc->txbuflock);
 diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h
---- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.h	2008-05-21 14:47:01.000000000 -0400
 @@ -92,7 +92,8 @@ struct ath5k_softc {
  	struct pci_dev		*pdev;		/* for dma mapping */
  	void __iomem		*iobase;	/* address of the device */
@@ -33213,7 +33168,7 @@
  	struct ieee80211_supported_band sbands[IEEE80211_NUM_BANDS];
 diff -up linux-2.6.25.noarch/drivers/net/wireless/arlan.h.orig linux-2.6.25.noarch/drivers/net/wireless/arlan.h
 --- linux-2.6.25.noarch/drivers/net/wireless/arlan.h.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/arlan.h	2008-05-19 13:13:11.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/arlan.h	2008-05-21 14:47:01.000000000 -0400
 @@ -330,7 +330,6 @@ struct TxParam
  #define TX_RING_SIZE 2
  /* Information that need to be kept for each board. */
@@ -33223,8 +33178,8 @@
        struct arlan_shmem * conf;
  
 diff -up linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.25.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.c	2008-05-21 14:47:01.000000000 -0400
 @@ -306,11 +306,10 @@ static int adm8211_get_tx_stats(struct i
  				struct ieee80211_tx_queue_stats *stats)
  {
@@ -33265,8 +33220,8 @@
  	dev->queues = 1; /* ADM8211C supports more, maybe ADM8211B too */
  
 diff -up linux-2.6.25.noarch/drivers/ssb/pci.c.orig linux-2.6.25.noarch/drivers/ssb/pci.c
---- linux-2.6.25.noarch/drivers/ssb/pci.c.orig	2008-05-19 09:13:46.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/ssb/pci.c	2008-05-19 13:13:11.000000000 -0400
+--- linux-2.6.25.noarch/drivers/ssb/pci.c.orig	2008-05-21 11:36:24.000000000 -0400
++++ linux-2.6.25.noarch/drivers/ssb/pci.c	2008-05-21 14:47:01.000000000 -0400
 @@ -510,17 +510,15 @@ static int ssb_pci_sprom_get(struct ssb_
  	sprom_do_read(bus, buf);
  	err = sprom_check_crc(buf, bus->sprom_size);

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.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- linux-2.6-wireless.patch	19 May 2008 18:40:11 -0000	1.36
+++ linux-2.6-wireless.patch	21 May 2008 19:24:23 -0000	1.37
@@ -1,301 +1,316 @@
-commit dec54545c170ebbe86ffa8445a4222d433b68a43
-Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
-Date:   Wed May 14 14:16:50 2008 +0900
-
-    wireless: Create 'device' symlink in sysfs
-    
-    Some network interfaces of the wireless drivers lack the 'device'
-    symlink in sysfs.
-    This patch lets the drivers create the links.
+commit 5d283e8cdb8097b6a3e9304c9c8942ad9dc1a4eb
+Author: David Woodhouse <dwmw2 at infradead.org>
+Date:   Mon May 19 16:32:02 2008 +0100
+
+    libertas: Fix ethtool statistics
+    
+    Fix various problems:
+     - We converted MESH_ACCESS to a direct command but missed this caller.
+     - We were trying to access mesh stats even on meshless firmware.
+     - We should really zero the buffer if something goes wrong.
     
-    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
     Acked-by: Dan Williams <dcbw at redhat.com>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit fc2c194ee80002fe1a1812842247c42bc0a21209
-Author: Roel Kluin <roel.kluin at gmail.com>
-Date:   Tue May 13 22:12:27 2008 +0200
+commit 0d580a774b3682b8b2b5c89ab9b813d149ef28e7
+Author: Helmut Schaa <hschaa at suse.de>
+Date:   Tue May 20 09:56:37 2008 +0200
 
-    wireless, airo: waitbusy() won't delay
+    mac80211: fix NULL pointer dereference in ieee80211_compatible_rates
     
-    There will be no delay even when COMMAND_BUSY (defined 0x8000) is set:
-    0x8000 & (delay < 10000) will evaluate to 0 - when delay is 0.
+    Fix a possible NULL pointer dereference in ieee80211_compatible_rates
+    introduced in the patch "mac80211: fix association with some APs". If no bss
+    is available just use all supported rates in the association request.
     
-    Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
+    Signed-off-by: Helmut Schaa <hschaa at suse.de>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit e43fc6862896b6597f9af027421535a0c2ebb4f7
-Author: Brian Cavagnolo <brian at cozybit.com>
-Date:   Tue May 13 13:54:59 2008 +0100
-
-    libertas: fix command timeout after firmware failure
-    
-    This is a fix for OLPC ticket #6586: "SCAN command fails, timer doesn't
-    fire". In fact, the timer was firing; the problem was that the dnld_sent
-    state variable was not being updated after the timer expired, so
-    lbs_execute_next_command was not being called.
+commit 51e779f0daa5c712439d37b907d58543e4fcf12a
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Mon May 19 07:18:10 2008 +0200
+
+    mac80211: don't claim iwspy support
     
-    Signed-off-by: Brian Cavagnolo <brian at cozybit.com>
-    Signed-off-by: Javier Cardona <javier at cozybit.com>
-    Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
+    We removed iwspy support a very long time ago because it is useless, but
+    forgot to stop claiming to support it. Apparently, nobody cares, but
+    remove it nonetheless.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit aef7f29164173d5a518972feda11a416baafa87e
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sat May 10 13:40:49 2008 +0200
-
-    mac80211: Add RTNL version of ieee80211_iterate_active_interfaces
-    
-    Since commit e38bad4766a110b61fa6038f10be16ced8c6cc38
-    	mac80211: make ieee80211_iterate_active_interfaces not need rtnl
-    rt2500usb and rt73usb broke down due to attempting register access
-    in atomic context (which is not possible for USB hardware).
-    
-    This patch restores ieee80211_iterate_active_interfaces() to use RTNL lock,
-    and provides the non-RTNL version under a new name:
-    	ieee80211_iterate_active_interfaces_atomic()
-    
-    So far only rt2x00 uses ieee80211_iterate_active_interfaces(), and those
-    drivers require the RTNL version of ieee80211_iterate_active_interfaces().
-    Since they already call that function directly, this patch will automatically
-    fix the USB rt2x00 drivers.
+commit 682c97c04b3041d0f29241b8bfa013093201e269
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri May 16 17:53:03 2008 -0400
+
+    orinoco_cs: add ID for SpeedStream wireless adapters
     
-    v2: Rename ieee80211_iterate_active_interfaces_rtnl
+    Reported by Gerald Willmann <gerald.willmann at econ.kuleuven.be>
     
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Acked-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit 32e1970f624dbf95ae2a27966db3e391e22fc952
-Author: Abhijeet Kolekar <abhijeet.kolekar at intel.com>
-Date:   Fri May 9 09:35:41 2008 -0700
-
-    mac80211 : Association with 11n hidden ssid ap.
-    
-    This patch fixes the association problem with 11n hidden ssid ap.
-    Patch fixes the problem of associating with hidden ssid when
-    all three parameters ap,essid and channel are given to iwconfig.
-    This patch removes the condition of checking three parameters
-    and always checks for bss in bss list while associating.
+commit 449fecca0b74502b571f4199d46bcd6a11a5e2c2
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri May 16 17:52:57 2008 -0400
+
+    hostap_cs: add ID for Conceptronic CON11CPro
     
-    Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar at intel.com>
+    Reported by Santiago Garcia Mantinan <hostap at manty.net>
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-commit ba5b4ebf5cab24331b53ec42c50cd804e4b8dcb5
-Author: Mathieu Chouquet-Stringer <mchouque at free.fr>
-Date:   Wed May 14 19:03:18 2008 -0400
+commit ea8ee240251cbac73b66d70d35eeabfbff86d3ce
+Author: Oliver Neukum <oliver at neukum.org>
+Date:   Thu May 15 21:49:16 2008 +0200
 
-    hostap: fix "registers" registration in procfs
+    rtl8187: resource leak in error case
     
-    The "registers" entry was incorrectly created in the procfs root instead
-    of the device specific directory.  Move "registers" registration
-    immediately after the containing procfs directory is created.
+    This fixes resource leaks in error cases due to urb submission
+    failures.
     
-    Signed-off-by: Mathieu Chouquet-Stringer <mchouque at free.fr>
-    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: Oliver Neukum <oneukum at suse.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 89fd2e282ad510f801c1f44a660086f9d5bdf088
+Author: Bob Copeland <me at bobcopeland.com>
+Date:   Mon May 12 21:16:44 2008 -0400
+
+    ath5k: Fix loop variable initializations
+    
+    In ath5k_tasklet_rx, both status structures 'rxs' and 'rs' are
+    initialized at the top of the tasklet, but not within the loop.
+    If the loop is executed multiple times in the tasklet then the
+    variables may see changes from previous packets.
+    
+    For TKIP, this results in 'Invalid Michael MIC' errors if two packets
+    are processed in the tasklet: rxs.flag gets set to RX_DECRYPTED by
+    mac80211 when it decrypts the first encrypted packet.  The subsequent
+    packet will have RX_DECRYPTED set upon entry to mac80211, so mac80211
+    will not try to decrypt it.
+    
+    We currently initialize all but two fields in the structures, so fix
+    the other two.
+    
+    Signed-off-by: Bob Copeland <me at bobcopeland.com>
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
-diff -up linux-2.6.25.noarch/include/net/mac80211.h.orig linux-2.6.25.noarch/include/net/mac80211.h
---- linux-2.6.25.noarch/include/net/mac80211.h.orig	2008-05-19 09:13:47.000000000 -0400
-+++ linux-2.6.25.noarch/include/net/mac80211.h	2008-05-19 13:10:03.000000000 -0400
-@@ -1594,13 +1594,16 @@ void ieee80211_wake_queues(struct ieee80
- void ieee80211_scan_completed(struct ieee80211_hw *hw);
- 
- /**
-- * ieee80211_iterate_active_interfaces - iterate active interfaces
-+ * ieee80211_iterate_active_interfaces- iterate active interfaces
-  *
-  * This function iterates over the interfaces associated with a given
-  * hardware that are currently active and calls the callback for them.
-+ * This function allows the iterator function to sleep, when the iterator
-+ * function is atomic @ieee80211_iterate_active_interfaces_atomic can
-+ * be used.
-  *
-  * @hw: the hardware struct of which the interfaces should be iterated over
-- * @iterator: the iterator function to call, cannot sleep
-+ * @iterator: the iterator function to call
-  * @data: first argument of the iterator function
-  */
- void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw,
-@@ -1609,6 +1612,24 @@ void ieee80211_iterate_active_interfaces
- 					 void *data);
- 
- /**
-+ * ieee80211_iterate_active_interfaces_atomic - iterate active interfaces
-+ *
-+ * This function iterates over the interfaces associated with a given
-+ * hardware that are currently active and calls the callback for them.
-+ * This function requires the iterator callback function to be atomic,
-+ * if that is not desired, use @ieee80211_iterate_active_interfaces instead.
-+ *
-+ * @hw: the hardware struct of which the interfaces should be iterated over
-+ * @iterator: the iterator function to call, cannot sleep
-+ * @data: first argument of the iterator function
-+ */
-+void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw,
-+						void (*iterator)(void *data,
-+						    u8 *mac,
-+						    struct ieee80211_vif *vif),
-+						void *data);
-+
-+/**
-  * ieee80211_start_tx_ba_session - Start a tx Block Ack session.
-  * @hw: pointer as obtained from ieee80211_alloc_hw().
-  * @ra: receiver address of the BA session recipient
 diff -up linux-2.6.25.noarch/net/mac80211/mlme.c.orig linux-2.6.25.noarch/net/mac80211/mlme.c
---- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-05-19 13:10:03.000000000 -0400
-@@ -3446,21 +3446,17 @@ static int ieee80211_sta_config_auth(str
- 	struct ieee80211_sta_bss *bss, *selected = NULL;
- 	int top_rssi = 0, freq;
- 
--	if (!(ifsta->flags & (IEEE80211_STA_AUTO_SSID_SEL |
--	    IEEE80211_STA_AUTO_BSSID_SEL | IEEE80211_STA_AUTO_CHANNEL_SEL))) {
--		ifsta->state = IEEE80211_AUTHENTICATE;
--		ieee80211_sta_reset_auth(dev, ifsta);
--		return 0;
--	}
--
- 	spin_lock_bh(&local->sta_bss_lock);
- 	freq = local->oper_channel->center_freq;
- 	list_for_each_entry(bss, &local->sta_bss_list, list) {
- 		if (!(bss->capability & WLAN_CAPABILITY_ESS))
- 			continue;
- 
--		if (!!(bss->capability & WLAN_CAPABILITY_PRIVACY) ^
--		    !!sdata->default_key)
-+		if ((ifsta->flags & (IEEE80211_STA_AUTO_SSID_SEL |
-+			IEEE80211_STA_AUTO_BSSID_SEL |
-+			IEEE80211_STA_AUTO_CHANNEL_SEL)) &&
-+		    (!!(bss->capability & WLAN_CAPABILITY_PRIVACY) ^
-+		     !!sdata->default_key))
- 			continue;
- 
- 		if (!(ifsta->flags & IEEE80211_STA_AUTO_CHANNEL_SEL) &&
-diff -up linux-2.6.25.noarch/net/mac80211/util.c.orig linux-2.6.25.noarch/net/mac80211/util.c
---- linux-2.6.25.noarch/net/mac80211/util.c.orig	2008-05-19 09:13:48.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/util.c	2008-05-19 13:10:03.000000000 -0400
-@@ -389,6 +389,41 @@ void ieee80211_iterate_active_interfaces
- 	struct ieee80211_local *local = hw_to_local(hw);
- 	struct ieee80211_sub_if_data *sdata;
- 
-+	rtnl_lock();
-+
-+	list_for_each_entry(sdata, &local->interfaces, list) {
-+		switch (sdata->vif.type) {
-+		case IEEE80211_IF_TYPE_INVALID:
-+		case IEEE80211_IF_TYPE_MNTR:
-+		case IEEE80211_IF_TYPE_VLAN:
-+			continue;
-+		case IEEE80211_IF_TYPE_AP:
-+		case IEEE80211_IF_TYPE_STA:
-+		case IEEE80211_IF_TYPE_IBSS:
-+		case IEEE80211_IF_TYPE_WDS:
-+		case IEEE80211_IF_TYPE_MESH_POINT:
-+			break;
-+		}
-+		if (sdata->dev == local->mdev)
-+			continue;
-+		if (netif_running(sdata->dev))
-+			iterator(data, sdata->dev->dev_addr,
-+				 &sdata->vif);
-+	}
-+
-+	rtnl_unlock();
-+}
-+EXPORT_SYMBOL_GPL(ieee80211_iterate_active_interfaces);
+--- linux-2.6.25.noarch/net/mac80211/mlme.c.orig	2008-05-21 11:36:33.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/mlme.c	2008-05-21 14:45:53.000000000 -0400
+@@ -730,7 +730,17 @@ static void ieee80211_send_assoc(struct 
+ 		if (bss->wmm_ie) {
+ 			wmm = 1;
+ 		}
 +
-+void ieee80211_iterate_active_interfaces_atomic(
-+	struct ieee80211_hw *hw,
-+	void (*iterator)(void *data, u8 *mac,
-+			 struct ieee80211_vif *vif),
-+	void *data)
-+{
-+	struct ieee80211_local *local = hw_to_local(hw);
-+	struct ieee80211_sub_if_data *sdata;
++		/* get all rates supported by the device and the AP as
++		 * some APs don't like getting a superset of their rates
++		 * in the association request (e.g. D-Link DAP 1353 in
++		 * b-only mode) */
++		rates_len = ieee80211_compatible_rates(bss, sband, &rates);
 +
- 	rcu_read_lock();
+ 		ieee80211_rx_bss_put(dev, bss);
++	} else {
++		rates = ~0;
++		rates_len = sband->n_bitrates;
+ 	}
+ 
+ 	mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);
+@@ -761,10 +771,7 @@ static void ieee80211_send_assoc(struct 
+ 	*pos++ = ifsta->ssid_len;
+ 	memcpy(pos, ifsta->ssid, ifsta->ssid_len);
+ 
+-	/* all supported rates should be added here but some APs
+-	 * (e.g. D-Link DAP 1353 in b-only mode) don't like that
+-	 * Therefore only add rates the AP supports */
+-	rates_len = ieee80211_compatible_rates(bss, sband, &rates);
++	/* add all rates which were marked to be used above */
+ 	supp_rates_len = rates_len;
+ 	if (supp_rates_len > 8)
+ 		supp_rates_len = 8;
+diff -up linux-2.6.25.noarch/net/mac80211/wext.c.orig linux-2.6.25.noarch/net/mac80211/wext.c
+--- linux-2.6.25.noarch/net/mac80211/wext.c.orig	2008-05-21 11:36:27.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wext.c	2008-05-21 14:45:53.000000000 -0400
+@@ -209,7 +209,6 @@ static int ieee80211_ioctl_giwrange(stru
+ 	range->num_frequency = c;
+ 
+ 	IW_EVENT_CAPA_SET_KERNEL(range->event_capa);
+-	IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWTHRSPY);
+ 	IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWAP);
+ 	IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWSCAN);
+ 
+diff -up linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c.orig linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c
+--- linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/rtl8187_dev.c	2008-05-21 14:45:53.000000000 -0400
+@@ -92,6 +92,7 @@ static void rtl8187_iowrite_async(struct
+ 		u8 data[4];
+ 		struct usb_ctrlrequest dr;
+ 	} *buf;
++	int rc;
+ 
+ 	buf = kmalloc(sizeof(*buf), GFP_ATOMIC);
+ 	if (!buf)
+@@ -116,7 +117,11 @@ static void rtl8187_iowrite_async(struct
+ 	usb_fill_control_urb(urb, priv->udev, usb_sndctrlpipe(priv->udev, 0),
+ 			     (unsigned char *)dr, buf, len,
+ 			     rtl8187_iowrite_async_cb, buf);
+-	usb_submit_urb(urb, GFP_ATOMIC);
++	rc = usb_submit_urb(urb, GFP_ATOMIC);
++	if (rc < 0) {
++		kfree(buf);
++		usb_free_urb(urb);
++	}
+ }
  
- 	list_for_each_entry_rcu(sdata, &local->interfaces, list) {
-@@ -413,4 +448,4 @@ void ieee80211_iterate_active_interfaces
+ static inline void rtl818x_iowrite32_async(struct rtl8187_priv *priv,
+@@ -169,6 +174,7 @@ static int rtl8187_tx(struct ieee80211_h
+ 	struct urb *urb;
+ 	__le16 rts_dur = 0;
+ 	u32 flags;
++	int rc;
+ 
+ 	urb = usb_alloc_urb(0, GFP_ATOMIC);
+ 	if (!urb) {
+@@ -208,7 +214,11 @@ static int rtl8187_tx(struct ieee80211_h
+ 	info->dev = dev;
+ 	usb_fill_bulk_urb(urb, priv->udev, usb_sndbulkpipe(priv->udev, 2),
+ 			  hdr, skb->len, rtl8187_tx_cb, skb);
+-	usb_submit_urb(urb, GFP_ATOMIC);
++	rc = usb_submit_urb(urb, GFP_ATOMIC);
++	if (rc < 0) {
++		usb_free_urb(urb);
++		kfree_skb(skb);
++	}
  
- 	rcu_read_unlock();
+ 	return 0;
+ }
+diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/ethtool.c.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/ethtool.c
+--- linux-2.6.25.noarch/drivers/net/wireless/libertas/ethtool.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/libertas/ethtool.c	2008-05-21 14:45:53.000000000 -0400
+@@ -73,8 +73,8 @@ out:
+         return ret;
  }
--EXPORT_SYMBOL_GPL(ieee80211_iterate_active_interfaces);
-+EXPORT_SYMBOL_GPL(ieee80211_iterate_active_interfaces_atomic);
-diff -up linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig linux-2.6.25.noarch/drivers/net/wireless/airo.c
---- linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/airo.c	2008-05-19 13:10:03.000000000 -0400
-@@ -2668,6 +2668,7 @@ static struct net_device *init_wifidev(s
- 	dev->irq = ethdev->irq;
- 	dev->base_addr = ethdev->base_addr;
- 	dev->wireless_data = ethdev->wireless_data;
-+	SET_NETDEV_DEV(dev, ethdev->dev.parent);
- 	memcpy(dev->dev_addr, ethdev->dev_addr, dev->addr_len);
- 	err = register_netdev(dev);
- 	if (err<0) {
-@@ -2904,7 +2905,7 @@ EXPORT_SYMBOL(init_airo_card);
- 
- static int waitbusy (struct airo_info *ai) {
- 	int delay = 0;
--	while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) & (delay < 10000)) {
-+	while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) && (delay < 10000)) {
- 		udelay (10);
- 		if ((++delay % 20) == 0)
- 			OUT4500(ai, EVACK, EV_CLEARCOMMANDBUSY);
-diff -up linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c
---- linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c.orig	2008-05-19 09:13:45.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/libertas/main.c	2008-05-19 13:10:03.000000000 -0400
-@@ -756,6 +756,7 @@ static int lbs_thread(void *data)
- 				priv->nr_retries = 0;
- 			} else {
- 				priv->cur_cmd = NULL;
-+				priv->dnld_sent = DNLD_RES_RECEIVED;
- 				lbs_pr_info("requeueing command %x due to timeout (#%d)\n",
- 					    le16_to_cpu(cmdnode->cmdbuf->command), priv->nr_retries);
- 
-@@ -1564,6 +1565,7 @@ static int lbs_add_rtap(struct lbs_priva
- 	rtap_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;
- 	rtap_dev->set_multicast_list = lbs_set_multicast_list;
- 	rtap_dev->priv = priv;
-+	SET_NETDEV_DEV(rtap_dev, priv->dev->dev.parent);
- 
- 	ret = register_netdev(rtap_dev);
- 	if (ret) {
-diff -up linux-2.6.25.noarch/drivers/net/wireless/ipw2200.c.orig linux-2.6.25.noarch/drivers/net/wireless/ipw2200.c
---- linux-2.6.25.noarch/drivers/net/wireless/ipw2200.c.orig	2008-05-19 09:13:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/ipw2200.c	2008-05-19 13:10:03.000000000 -0400
-@@ -11584,6 +11584,7 @@ static int ipw_prom_alloc(struct ipw_pri
- 	priv->prom_net_dev->hard_start_xmit = ipw_prom_hard_start_xmit;
- 
- 	priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR;
-+	SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev);
- 
- 	rc = register_netdev(priv->prom_net_dev);
- 	if (rc) {
-diff -up linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_hw.c
---- linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig	2008-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_hw.c	2008-05-19 13:10:03.000000000 -0400
-@@ -3276,11 +3276,6 @@ while (0)
- 	}
- 	printk(KERN_INFO "%s: Registered netdevice %s\n", dev_info, dev->name);
  
--#ifndef PRISM2_NO_PROCFS_DEBUG
--	create_proc_read_entry("registers", 0, local->proc,
--			       prism2_registers_proc_read, local);
--#endif /* PRISM2_NO_PROCFS_DEBUG */
--
- 	hostap_init_data(local);
- 	return dev;
+-static void lbs_ethtool_get_stats(struct net_device * dev,
+-				struct ethtool_stats * stats, u64 * data)
++static void lbs_ethtool_get_stats(struct net_device *dev,
++				  struct ethtool_stats *stats, uint64_t *data)
+ {
+ 	struct lbs_private *priv = dev->priv;
+ 	struct cmd_ds_mesh_access mesh_access;
+@@ -83,12 +83,12 @@ static void lbs_ethtool_get_stats(struct
+ 	lbs_deb_enter(LBS_DEB_ETHTOOL);
+ 
+ 	/* Get Mesh Statistics */
+-	ret = lbs_prepare_and_send_command(priv,
+-			CMD_MESH_ACCESS, CMD_ACT_MESH_GET_STATS,
+-			CMD_OPTION_WAITFORRSP, 0, &mesh_access);
++	ret = lbs_mesh_access(priv, CMD_ACT_MESH_GET_STATS, &mesh_access);
+ 
+-	if (ret)
++	if (ret) {
++		memset(data, 0, MESH_STATS_NUM*(sizeof(uint64_t)));
+ 		return;
++	}
+ 
+ 	priv->mstats.fwd_drop_rbt = le32_to_cpu(mesh_access.data[0]);
+ 	priv->mstats.fwd_drop_ttl = le32_to_cpu(mesh_access.data[1]);
+@@ -111,19 +111,18 @@ static void lbs_ethtool_get_stats(struct
+ 	lbs_deb_enter(LBS_DEB_ETHTOOL);
+ }
  
-@@ -3307,6 +3302,10 @@ static int hostap_hw_ready(struct net_de
- 			netif_carrier_off(local->ddev);
+-static int lbs_ethtool_get_sset_count(struct net_device * dev, int sset)
++static int lbs_ethtool_get_sset_count(struct net_device *dev, int sset)
+ {
+-	switch (sset) {
+-	case ETH_SS_STATS:
++	struct lbs_private *priv = dev->priv;
++
++	if (sset == ETH_SS_STATS && dev == priv->mesh_dev)
+ 		return MESH_STATS_NUM;
+-	default:
+-		return -EOPNOTSUPP;
+-	}
++
++	return -EOPNOTSUPP;
+ }
+ 
+ static void lbs_ethtool_get_strings(struct net_device *dev,
+-					  u32 stringset,
+-					  u8 * s)
++				    uint32_t stringset, uint8_t *s)
+ {
+ 	int i;
+ 
+diff -up linux-2.6.25.noarch/drivers/net/wireless/orinoco_cs.c.orig linux-2.6.25.noarch/drivers/net/wireless/orinoco_cs.c
+--- linux-2.6.25.noarch/drivers/net/wireless/orinoco_cs.c.orig	2008-04-16 22:49:44.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/orinoco_cs.c	2008-05-21 14:45:53.000000000 -0400
+@@ -461,6 +461,7 @@ static struct pcmcia_device_id orinoco_c
+ 	PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
+ 	PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
+ 	PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
++	PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */
+ 	PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
+ 	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
+ 	PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
+diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c
+--- linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/hw.c	2008-05-21 14:45:53.000000000 -0400
+@@ -4119,6 +4119,7 @@ static int ath5k_hw_proc_5210_rx_status(
+ 	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
+ 		AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
+ 	rs->rs_status = 0;
++	rs->rs_phyerr = 0;
+ 
+ 	/*
+ 	 * Key table status
+@@ -4145,7 +4146,7 @@ static int ath5k_hw_proc_5210_rx_status(
+ 		if (rx_status->rx_status_1 &
+ 				AR5K_5210_RX_DESC_STATUS1_PHY_ERROR) {
+ 			rs->rs_status |= AR5K_RXERR_PHY;
+-			rs->rs_phyerr = AR5K_REG_MS(rx_status->rx_status_1,
++			rs->rs_phyerr |= AR5K_REG_MS(rx_status->rx_status_1,
+ 					   AR5K_5210_RX_DESC_STATUS1_PHY_ERROR);
  		}
- 		hostap_init_proc(local);
-+#ifndef PRISM2_NO_PROCFS_DEBUG
-+		create_proc_read_entry("registers", 0, local->proc,
-+				       prism2_registers_proc_read, local);
-+#endif /* PRISM2_NO_PROCFS_DEBUG */
- 		hostap_init_ap_proc(local);
- 		return 0;
- 	}
+ 
+@@ -4193,6 +4194,7 @@ static int ath5k_hw_proc_5212_rx_status(
+ 	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
+ 		AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
+ 	rs->rs_status = 0;
++	rs->rs_phyerr = 0;
+ 
+ 	/*
+ 	 * Key table status
+@@ -4215,7 +4217,7 @@ static int ath5k_hw_proc_5212_rx_status(
+ 		if (rx_status->rx_status_1 &
+ 				AR5K_5212_RX_DESC_STATUS1_PHY_ERROR) {
+ 			rs->rs_status |= AR5K_RXERR_PHY;
+-			rs->rs_phyerr = AR5K_REG_MS(rx_err->rx_error_1,
++			rs->rs_phyerr |= AR5K_REG_MS(rx_err->rx_error_1,
+ 					   AR5K_RX_DESC_ERROR1_PHY_ERROR_CODE);
+ 		}
+ 
+diff -up linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c.orig linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c
+--- linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c.orig	2008-05-21 11:36:23.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/ath5k/base.c	2008-05-21 14:45:53.000000000 -0400
+@@ -1787,6 +1787,8 @@ ath5k_tasklet_rx(unsigned long data)
+ 
+ 	spin_lock(&sc->rxbuflock);
+ 	do {
++		rxs.flag = 0;
++
+ 		if (unlikely(list_empty(&sc->rxbuf))) {
+ 			ATH5K_WARN(sc, "empty rx buf pool\n");
+ 			break;
+diff -up linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c
+--- linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig	2008-04-16 22:49:44.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/hostap/hostap_cs.c	2008-05-21 14:45:53.000000000 -0400
+@@ -833,6 +833,7 @@ static struct pcmcia_device_id hostap_cs
+ 	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x0001),
+ 	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300),
+ /*	PCMCIA_DEVICE_MANF_CARD(0xc00f, 0x0000),    conflict with pcnet_cs */
++	PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002),
+ 	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
+ 	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
+ 	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0010),




More information about the fedora-extras-commits mailing list