rpms/kernel/F-8 config-powerpc64, 1.8, 1.9 kernel.spec, 1.464, 1.465 linux-2.6-wireless-pending.patch, 1.46, 1.47 linux-2.6-wireless.patch, 1.40, 1.41

John W. Linville (linville) fedora-extras-commits at redhat.com
Tue Jun 10 20:46:38 UTC 2008


Author: linville

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8823

Modified Files:
	config-powerpc64 kernel.spec linux-2.6-wireless-pending.patch 
	linux-2.6-wireless.patch 
Log Message:
Upstream wireless fixes from 2008-06-09 ; Upstream wireless updates from 2008-06-09


Index: config-powerpc64
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/config-powerpc64,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- config-powerpc64	21 May 2008 20:42:11 -0000	1.8
+++ config-powerpc64	10 Jun 2008 20:45:42 -0000	1.9
@@ -35,6 +35,7 @@
 CONFIG_SND_PS3_DEFAULT_START_DELAY=1000
 CONFIG_GELIC_NET=m
 CONFIG_GELIC_WIRELESS=y
+CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE=y
 CONFIG_CBE_THERM=m
 CONFIG_CBE_CPUFREQ=m
 CONFIG_CBE_CPUFREQ_PMI=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.464
retrieving revision 1.465
diff -u -r1.464 -r1.465
--- kernel.spec	10 Jun 2008 18:37:44 -0000	1.464
+++ kernel.spec	10 Jun 2008 20:45:42 -0000	1.465
@@ -1821,6 +1821,12 @@
 
 
 %changelog
+* Tue Jun 10 2008 John W. Linville <linville at redhat.com> 2.6.25.6-25
+- Upstream wireless fixes from 2008-06-09
+  (http://marc.info/?l=linux-kernel&m=121304710726632&w=2)
+- Upstream wireless updates from 2008-06-09
+  (http://marc.info/?l=linux-netdev&m=121304710526613&w=2)
+
 * Mon Jun 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25.6-24
 - Copy utrace and mmc driver bug fixes from F-9.
 

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.46 -r 1.47 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless-pending.patch,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- linux-2.6-wireless-pending.patch	29 May 2008 18:46:09 -0000	1.46
+++ linux-2.6-wireless-pending.patch	10 Jun 2008 20:45:42 -0000	1.47
@@ -1,3 +1,894 @@
+commit 78cf07472f0ede8394bacc4bc02354505080cfe1
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date:   Mon Jun 2 09:25:05 2008 +0200
+
+    libertas: unify various CF-related defines
+    
+    Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2d892986e82306b8ad96285fb54b9999523331e0
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Mon Jun 2 20:31:57 2008 +0300
+
+    mac80211: removing shadowed sband
+    
+    This patch removes doubly defined sband variable
+    
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit b97e77e0446f0702de7fa0f5d2c52acf42d0289f
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Mon Jun 2 20:31:56 2008 +0300
+
+    mac80211: fix unbalanced locking in ieee80211_get_buffered_bc
+    
+    This patch fixes unbalanced locking in ieee80211_get_buffered_bc
+    
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2b2121417eff64125bdb7f322d3b533e06d73dae
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Mon Jun 2 07:54:50 2008 -0400
+
+    mac80211: fix panic when using hardware WEP
+    
+    e039fa4a4195ac4ee895e6f3d1334beed63256fe ("mac80211: move TX info into
+    skb->cb") misplaced code for setting hardware WEP keys.  Move it back.
+    This fixes kernel panic in b43 if WEP is used and hardware encryption
+    is enabled.
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Acked-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 5854a32e6cb672d182ce378c69f0f7470137a062
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Mon Jun 2 09:38:04 2008 +0200
+
+    mac80211: fix rate control initialisation
+    
+    In commit 2e92e6f2c50b4baf85cca968f0e6f1b5c0df7d39 ("mac80211: use rate
+    index in TX control") I forgot to initialise a few new variables to -1 which
+    means that the rate control algorithm is never triggered and 0 is used as
+    the only rate index, effectively fixing the transmit bitrate at the lowest
+    supported.
+    
+    This patch adds the missing initialisation.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Bisected-by: Sitsofe Wheeler <sitsofe at yahoo.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 7fd871edf437362b62ddd807542638cbda8d8a39
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Mon Jun 2 12:49:16 2008 +0900
+
+    PS3: gelic: Add support for ESSID scan
+    
+    This adds the support for ESSID scanning
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 552fe53f48ef2fd54b031b37d304211cee893ba0
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Fri May 30 21:07:15 2008 +0200
+
+    p54: fix skb->cb tx info conversion
+    
+    When I moved the TX info into skb->cb apparently I forgot to change a
+    few places to put the p54-internal data into info->driver_data rather
+    than skb->cb. This should fix it.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit f409e348005693016281bf29535c9d0a91b21f77
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Fri May 30 16:52:55 2008 +0900
+
+    PS3: gelic: Deprecate the private ioctls in the gelic driver
+    
+    As the driver has the standard way to handle PSK, deprecate the old
+    interface.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 04b2046c856e36c3c9cf382adb2c0bc8ba780cf7
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Fri May 30 16:52:44 2008 +0900
+
+    PS3: gelic: Use the new PMK interface in the gelic driver
+    
+    With the new WEXT flags, the PS3 wireless driver can tell the user space that
+    it would do handle 4-way handshake by itself and needs the PSK without private
+    ioctls.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ba569b4c68f11906da2996ee252bcff0df61cb90
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Fri May 30 16:52:23 2008 +0900
+
+    WEXT: Add support for passing PMK and capability flags to WEXT
+    
+    This defines the flags for setting the PMK to the driver and the
+    capability flag for this so that the user space program can figure out
+    whether the target driver wants to do 4-way hand shake by itself and
+    pass the PMK which is needed before 4-way handshake to the driver.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 3df4e2486a58826f16574ead1818daab0edb59df
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Fri May 30 16:27:42 2008 +0900
+
+    PS3: gelic: Kill the static bounce buffer
+    
+    As the bounce buffer is allocaetd dynamically, kill the static bounce buffer.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 13de15e71db7a38f02c4d9f642f06541f5acc2b0
+Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+Date:   Fri May 30 16:27:24 2008 +0900
+
+    PS3: gelic: Allocate the bounce buffer dynamically
+    
+    Allocate the bouce buffer for the wireless command dynamically.
+    
+    Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 82a66bbbe96126ca1bc6bc5ded8e67f529bcdfa4
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Thu May 29 16:35:28 2008 +0800
+
+    iwlwifi: clean iwl4965_mac_config
+    
+    This patch cleans up iwl4965_mac_config.
+    
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d2f18bfd9bc6b51c8bb72b272ecca902a88387d4
+Author: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
+Date:   Thu May 29 16:35:27 2008 +0800
+
+    iwlwifi: send calibration results as HUGE commands
+    
+    This patch saves memory by reducing the size of the entry in the txq. It
+    was 640 because of the calibration commands. Calibration commands are now
+    sent as HUGE commands (using the extra 1024 bytes at the end of the command
+    txq), hence, there is no need for 640 in every entry any more.
+    
+    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 67249625089c21ec299b337a26448312b7eb91b3
+Author: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
+Date:   Thu May 29 16:35:26 2008 +0800
+
+    iwlwifi: remove debugfs entries before cfg80211
+    
+    This patch solves a bug in debugfs unregistration. iwlwifi registers its
+    debugfs files under cfg80211's dir, but removed its files only after having
+    unregistered mac80211 that removes cfg80211 debugfs dir. This garbaged
+    debugfs and didn't allow to rmmod and insmod iwlwifi several times in a
+    row.
+    
+    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
[...16516 lines suppressed...]
  		ieee80211_requeue(local, agg_queue);
 diff -up linux-2.6.25.noarch/net/mac80211/wme.h.orig linux-2.6.25.noarch/net/mac80211/wme.h
---- linux-2.6.25.noarch/net/mac80211/wme.h.orig	2008-05-29 14:16:46.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wme.h	2008-05-29 14:19:53.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wme.h.orig	2008-06-10 15:46:54.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wme.h	2008-06-10 15:47:00.000000000 -0400
 @@ -31,7 +31,7 @@ static inline int WLAN_FC_IS_QOS_DATA(u1
  	return (fc & 0x8C) == 0x88;
  }
@@ -48242,9 +54044,41 @@
  int ieee80211_qdisc_installed(struct net_device *dev);
  int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
 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-29 14:16:46.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-05-29 14:19:53.000000000 -0400
-@@ -176,22 +176,32 @@ ieee80211_rx_h_michael_mic_verify(struct
+--- linux-2.6.25.noarch/net/mac80211/wpa.c.orig	2008-06-10 15:46:54.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-06-10 16:01:28.000000000 -0400
+@@ -79,6 +79,7 @@ ieee80211_tx_h_michael_mic_add(struct ie
+ 	struct sk_buff *skb = tx->skb;
+ 	int authenticator;
+ 	int wpa_test = 0;
++	int tail;
+ 
+ 	fc = tx->fc;
+ 
+@@ -98,16 +99,13 @@ ieee80211_tx_h_michael_mic_add(struct ie
+ 		return TX_CONTINUE;
+ 	}
+ 
+-	if (skb_tailroom(skb) < MICHAEL_MIC_LEN) {
+-		I802_DEBUG_INC(tx->local->tx_expand_skb_head);
+-		if (unlikely(pskb_expand_head(skb, TKIP_IV_LEN,
+-					      MICHAEL_MIC_LEN + TKIP_ICV_LEN,
+-					      GFP_ATOMIC))) {
+-			printk(KERN_DEBUG "%s: failed to allocate more memory "
+-			       "for Michael MIC\n", tx->dev->name);
+-			return TX_DROP;
+-		}
+-	}
++	tail = MICHAEL_MIC_LEN;
++	if (!(tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))
++		tail += TKIP_ICV_LEN;
++
++	if (WARN_ON(skb_tailroom(skb) < tail ||
++		    skb_headroom(skb) < TKIP_IV_LEN))
++		return TX_DROP;
+ 
+ #if 0
+ 	authenticator = fc & IEEE80211_FCTL_FROMDS; /* FIX */
+@@ -176,59 +174,65 @@ ieee80211_rx_h_michael_mic_verify(struct
  	skb_trim(skb, skb->len - MICHAEL_MIC_LEN);
  
  	/* update IV in key information to be able to detect replays */
@@ -48263,8 +54097,9 @@
  {
  	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
  	struct ieee80211_key *key = tx->key;
+-	int hdrlen, len, tailneed;
 +	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
- 	int hdrlen, len, tailneed;
++	int hdrlen, len, tail;
  	u16 fc;
  	u8 *pos;
  
@@ -48275,13 +54110,33 @@
 +	    !(tx->key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)) {
 +		/* hwaccel - with no need for preallocated room for IV/ICV */
 +		info->control.hw_key = &tx->key->conf;
-+		return TX_CONTINUE;
++		return 0;
 +	}
 +
  	fc = le16_to_cpu(hdr->frame_control);
  	hdrlen = ieee80211_get_hdrlen(fc);
  	len = skb->len - hdrlen;
-@@ -214,21 +224,21 @@ static int tkip_encrypt_skb(struct ieee8
+ 
+ 	if (tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
+-		tailneed = 0;
++		tail = 0;
+ 	else
+-		tailneed = TKIP_ICV_LEN;
++		tail = TKIP_ICV_LEN;
+ 
+-	if ((skb_headroom(skb) < TKIP_IV_LEN ||
+-	     skb_tailroom(skb) < tailneed)) {
+-		I802_DEBUG_INC(tx->local->tx_expand_skb_head);
+-		if (unlikely(pskb_expand_head(skb, TKIP_IV_LEN, tailneed,
+-					      GFP_ATOMIC)))
+-			return -1;
+-	}
++	if (WARN_ON(skb_tailroom(skb) < tail ||
++		    skb_headroom(skb) < TKIP_IV_LEN))
++		return -1;
+ 
+ 	pos = skb_push(skb, TKIP_IV_LEN);
+ 	memmove(pos, pos + TKIP_IV_LEN, hdrlen);
  	pos += hdrlen;
  
  	/* Increase IV for the frame */
@@ -48310,7 +54165,7 @@
  		return 0;
  	}
  
-@@ -246,28 +256,16 @@ ieee80211_tx_result
+@@ -246,28 +250,16 @@ ieee80211_tx_result
  ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx)
  {
  	struct sk_buff *skb = tx->skb;
@@ -48341,7 +54196,7 @@
  				return TX_DROP;
  		}
  	}
-@@ -429,16 +427,27 @@ static inline int ccmp_hdr2pn(u8 *pn, u8
+@@ -429,16 +421,27 @@ static inline int ccmp_hdr2pn(u8 *pn, u8
  }
  
  
@@ -48351,8 +54206,9 @@
  {
  	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
  	struct ieee80211_key *key = tx->key;
+-	int hdrlen, len, tailneed;
 +	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
- 	int hdrlen, len, tailneed;
++	int hdrlen, len, tail;
  	u16 fc;
  	u8 *pos, *pn, *b_0, *aad, *scratch;
  	int i;
@@ -48365,13 +54221,36 @@
 +		/* hwaccel - with no need for preallocated room for CCMP "
 +		 * header or MIC fields */
 +		info->control.hw_key = &tx->key->conf;
-+		return TX_CONTINUE;
++		return 0;
 +	}
 +
  	scratch = key->u.ccmp.tx_crypto_buf;
  	b_0 = scratch + 3 * AES_BLOCK_LEN;
  	aad = scratch + 4 * AES_BLOCK_LEN;
-@@ -478,7 +487,7 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -448,17 +451,13 @@ static int ccmp_encrypt_skb(struct ieee8
+ 	len = skb->len - hdrlen;
+ 
+ 	if (key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
+-		tailneed = 0;
++		tail = 0;
+ 	else
+-		tailneed = CCMP_MIC_LEN;
++		tail = CCMP_MIC_LEN;
+ 
+-	if ((skb_headroom(skb) < CCMP_HDR_LEN ||
+-	     skb_tailroom(skb) < tailneed)) {
+-		I802_DEBUG_INC(tx->local->tx_expand_skb_head);
+-		if (unlikely(pskb_expand_head(skb, CCMP_HDR_LEN, tailneed,
+-					      GFP_ATOMIC)))
+-			return -1;
+-	}
++	if (WARN_ON(skb_tailroom(skb) < tail ||
++		    skb_headroom(skb) < CCMP_HDR_LEN))
++		return -1;
+ 
+ 	pos = skb_push(skb, CCMP_HDR_LEN);
+ 	memmove(pos, pos + CCMP_HDR_LEN, hdrlen);
+@@ -478,7 +477,7 @@ static int ccmp_encrypt_skb(struct ieee8
  
  	if (key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) {
  		/* hwaccel - with preallocated room for CCMP header */
@@ -48380,7 +54259,7 @@
  		return 0;
  	}
  
-@@ -495,28 +504,16 @@ ieee80211_tx_result
+@@ -495,28 +494,16 @@ ieee80211_tx_result
  ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx)
  {
  	struct sk_buff *skb = tx->skb;
@@ -48412,8 +54291,8 @@
  		}
  	}
 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-29 14:16:46.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/core.c	2008-05-29 14:19:53.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/core.c.orig	2008-06-10 15:46:54.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/core.c	2008-06-10 15:47:00.000000000 -0400
 @@ -143,8 +143,11 @@ void cfg80211_put_dev(struct cfg80211_re
  int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
  			char *newname)
@@ -48477,8 +54356,8 @@
  
  /* exported functions */
 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-05-29 14:16:26.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-05-29 14:19:53.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/radiotap.c.orig	2008-06-10 15:46:54.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-06-10 15:47:00.000000000 -0400
 @@ -59,23 +59,21 @@ int ieee80211_radiotap_iterator_init(
  		return -EINVAL;
  

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.40 -r 1.41 linux-2.6-wireless.patch
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless.patch,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- linux-2.6-wireless.patch	3 Jun 2008 21:01:05 -0000	1.40
+++ linux-2.6-wireless.patch	10 Jun 2008 20:45:43 -0000	1.41
@@ -1,3 +1,160 @@
+commit b6b16196b064bbff83e8161359f8b73465d4aa36
+Author: Marcin Slusarz <marcin.slusarz at gmail.com>
+Date:   Sun Jun 8 13:13:06 2008 +0200
+
+    iwlwifi: fix oops in iwl3945_led_brightness_set
+    
+    fix race between:
+    ieee80211_open->ieee80211_led_radio->led_trigger_event->led_set_brightness->iwl3945_led_brightness_set
+    (which assumes that "led->priv" is not NULL)
+    and
+    iwl3945_pci_probe->iwl3945_setup_deferred_work->(...)->iwl3945_bg_alive_start->iwl3945_alive_start->iwl3945_led_register->iwl3945_led_register_led
+    which sets priv field in struct iwl3945_led
+    after
+    led->led_dev.brightness_set = iwl3945_led_brightness_set;
+    (...)
+    led_classdev_register(device, &led->led_dev);
+    
+    http://kerneloops.org/guilty.php?guilty=iwl3945_led_brightness_set&version=2.6.25-release&start=1671168&end=1703935&class=oops
+    
+    Signed-off-by: Marcin Slusarz <marcin.slusarz at gmail.com>
+    Cc: Zhu Yi <yi.zhu at intel.com>
+    Cc: Reinette Chatre <reinette.chatre at intel.com>
+    Cc: Tomas Winkler <tomas.winkler at intel.com>
+    Cc: linux-wireless at vger.kernel.org
+    Cc: ipw3945-devel at lists.sourceforge.net
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 585c5434f0e02ff0ffc567ec223af61e2d8e2e88
+Author: Adrian Bunk <bunk at kernel.org>
+Date:   Thu Jun 5 21:29:49 2008 +0300
+
+    include/linux/ssb/ssb_driver_gige.h typo fix
+    
+    This patch fixes a typo in the name of a config variable.
+    
+    Reported-by: Robert P. J. Day <rpjday at crashcourse.ca>
+    Signed-off-by: Adrian Bunk <bunk at kernel.org>
+    Reviewed-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit be038b376465953c358d675cb38a611898a49dc2
+Author: Assaf Krauss <assaf.krauss at intel.com>
+Date:   Thu Jun 5 19:55:21 2008 +0300
+
+    mac80211: Checking IBSS support while changing channel in ad-hoc mode
+    
+    This patch adds a check to the set_channel flow. When attempting to change
+    the channel while in IBSS mode, and the new channel does not support IBSS
+    mode, the flow return with an error value with no consequences on the
+    mac80211 and driver state.
+    
+    Signed-off-by: Assaf Krauss <assaf.krauss at intel.com>
+    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 872ba53395b2a8be08c3ea2d39e225e5b4a8cb40
+Author: Dan Williams <dcbw at redhat.com>
+Date:   Wed Jun 4 13:59:34 2008 -0400
+
+    mac80211: decrease IBSS creation latency
+    
+    Sufficient scans (at least 2 or 3) should have been done within 7
+    seconds to find an existing IBSS to join.  This should improve IBSS
+    creation latency; and since IBSS merging is still in effect, shouldn't
+    have detrimental effects on eventual IBSS convergence.
+    
+    Signed-off-by: Dan Williams <dcbw at redhat.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d005b1d042a1d5dcd8d898f26d8d9bb03f865284
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Thu Jun 5 16:55:10 2008 +0200
+
+    zd1211rw: Fix data padding for QoS
+    
+    This patch fixes a data alignment issue in the zd1211rw driver.
+    The IEEE80211_STYPE_QOS_DATA bit should be used as a bitwise test
+    to test for the presence of the 2 byte QoS control field.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ad81b2f97d42e13ef78bb3798e046cd5f0492980
+Author: Assaf Krauss <assaf.krauss at intel.com>
+Date:   Wed Jun 4 20:27:59 2008 +0300
+
+    mac80211: Fixing slow IBSS rejoin
+    
+    This patch fixes the issue of slow reconnection to an IBSS cell after
+    disconnection from it. Now the interface's bssid is reset upon ifdown.
+    
+    ieee80211_sta_find_ibss:
+    if (found && memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0 &&
+    	    (bss = ieee80211_rx_bss_get(dev, bssid,
+    					local->hw.conf.channel->center_freq,
+    					ifsta->ssid, ifsta->ssid_len)))
+    
+    Note:
+    In general disconnection is still not handled properly in mac80211
+    
+    Signed-off-by: Assaf Krauss <assaf.krauss at intel.com>
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a01f5450401f081f07a866612121e780e0730cfd
+Author: Holger Schurig <hs4233 at mail.mn-solutions.de>
+Date:   Wed Jun 4 11:10:40 2008 +0200
+
+    libertas: fix sleep confirmation
+    
+    This fixes an issus that made "iwconfig eth1 power on" non-working.
+    When we get a "PS sleep" event, we have to confirm this to the firmware.
+    The confirm happens with a command, but this command is special: the
+    firmware won't send us a response. if_cs_host_to_card() is setting
+    priv->dnld_sent anyway, so this variable stayed at DNLD_DATA_SENT and
+    was never cleared back.
+    
+    Now I put the special knowledge that the CMD_802_11_PS_MODE with
+    CMD_SUBCMD_SLEEP_CONFIRMED doesn't need to need a response by directly
+    clearing the dnld_sent state in lbs_send_confirmsleep().
+    
+    Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>
+    Acked-by: Dan Williams <dcbw at redhat.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 507b06d0622480f8026d49a94f86068bb0fd6ed6
+Author: Dan Williams <dcbw at redhat.com>
+Date:   Tue Jun 3 23:39:55 2008 -0400
+
+    mac80211: send association event on IBSS create
+    
+    Otherwise userspace has no idea the IBSS creation succeeded.
+    
+    Signed-off-by: Dan Williams <dcbw at redhat.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ea177305b321a4127e448b88de20d5792682ace1
+Author: Dan Williams <dcbw at redhat.com>
+Date:   Mon Jun 2 17:51:23 2008 -0400
+
+    ipw2200: queue direct scans
+    
+    When another scan is in progress, a direct scan gets dropped on the
+    floor.  However, that direct scan is usually the scan that's really
+    needed by userspace, and gets stomped on by all the broadcast scans the
+    ipw2200 driver issues internally.  Make sure the direct scan happens
+    eventually, and as a bonus ensure that the passive scan worker is
+    cleaned up when appropriate.
+    
+    The change of request_passive_scan form a struct work to struct
+    delayed_work is only to make the set_wx_scan() code a bit simpler, it's
+    still only used with a delay of 0 to match previous behavior.
+    
+    Signed-off-by: Dan Williams <dcbw at redhat.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit c2b25f240163c9d3a7a391747f996da9e18a067d
 Author: Kirill A. Shutemov <kirill at shutemov.name>
 Date:   Tue Jun 3 13:48:08 2008 -0400
@@ -8659,8 +8816,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 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-06-03 16:18:55.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.c	2008-06-03 16:19:09.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/adm8211.c.orig	2008-06-10 15:07:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.c	2008-06-10 15:07:27.000000000 -0400
 @@ -48,6 +48,32 @@ static struct pci_device_id adm8211_pci_
  	{ 0 }
  };
@@ -8858,8 +9015,8 @@
  	err = ieee80211_register_hw(dev);
  	if (err) {
 diff -up linux-2.6.25.noarch/drivers/net/wireless/adm8211.h.orig linux-2.6.25.noarch/drivers/net/wireless/adm8211.h
---- linux-2.6.25.noarch/drivers/net/wireless/adm8211.h.orig	2008-06-03 16:18:55.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.h	2008-06-03 16:19:09.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/adm8211.h.orig	2008-06-10 15:07:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/adm8211.h	2008-06-10 15:07:27.000000000 -0400
 @@ -534,61 +534,6 @@ struct adm8211_eeprom {
  	u8	cis_data[0];		/* 0x80, 384 bytes */
  } __attribute__ ((packed));
@@ -8947,8 +9104,8 @@
  	{1,  11},	/* FCC */
  	{1,  11},	/* IC */
 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-06-03 16:18:55.000000000 -0400
-+++ linux-2.6.25.noarch/drivers/net/wireless/airo.c	2008-06-03 16:19:22.000000000 -0400
+--- linux-2.6.25.noarch/drivers/net/wireless/airo.c.orig	2008-06-10 15:07:21.000000000 -0400
++++ linux-2.6.25.noarch/drivers/net/wireless/airo.c	2008-06-10 15:07:27.000000000 -0400
 @@ -2668,6 +2668,7 @@ static struct net_device *init_wifidev(s
[...3964 lines suppressed...]
-+++ linux-2.6.25.noarch/net/mac80211/wep.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wep.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wep.c	2008-06-10 15:07:28.000000000 -0400
 @@ -305,39 +305,39 @@ u8 * ieee80211_wep_is_weak_iv(struct sk_
  	return NULL;
  }
@@ -125974,8 +126487,8 @@
 +	return TX_CONTINUE;
  }
 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-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wep.h	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wep.h.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wep.h	2008-06-10 15:07:28.000000000 -0400
 @@ -14,7 +14,7 @@
  #include <linux/skbuff.h>
  #include <linux/types.h>
@@ -126000,9 +126513,9 @@
  
  #endif /* WEP_H */
 diff -up /dev/null linux-2.6.25.noarch/net/mac80211/wext.c
---- /dev/null	2008-06-02 07:27:38.814002862 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wext.c	2008-06-03 16:19:10.000000000 -0400
-@@ -0,0 +1,1156 @@
+--- /dev/null	2008-06-09 22:05:01.464004840 -0400
++++ linux-2.6.25.noarch/net/mac80211/wext.c	2008-06-10 15:21:03.000000000 -0400
+@@ -0,0 +1,1163 @@
 +/*
 + * Copyright 2002-2005, Instant802 Networks, Inc.
 + * Copyright 2005-2006, Devicescape Software, Inc.
@@ -126295,14 +126808,22 @@
 +	return 0;
 +}
 +
-+int ieee80211_set_freq(struct ieee80211_local *local, int freqMHz)
++int ieee80211_set_freq(struct net_device *dev, int freqMHz)
 +{
 +	int ret = -EINVAL;
 +	struct ieee80211_channel *chan;
++	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
++	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 +
 +	chan = ieee80211_get_channel(local->hw.wiphy, freqMHz);
 +
 +	if (chan && !(chan->flags & IEEE80211_CHAN_DISABLED)) {
++		if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS &&
++		    chan->flags & IEEE80211_CHAN_NO_IBSS) {
++			printk(KERN_DEBUG "%s: IBSS not allowed on frequency "
++				"%d MHz\n", dev->name, chan->center_freq);
++			return ret;
++		}
 +		local->oper_channel = chan;
 +
 +		if (local->sta_sw_scanning || local->sta_hw_scanning)
@@ -126320,7 +126841,6 @@
 +				   struct iw_request_info *info,
 +				   struct iw_freq *freq, char *extra)
 +{
-+	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
 +	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 +
 +	if (sdata->vif.type == IEEE80211_IF_TYPE_STA)
@@ -126334,14 +126854,14 @@
 +					IEEE80211_STA_AUTO_CHANNEL_SEL;
 +			return 0;
 +		} else
-+			return ieee80211_set_freq(local,
++			return ieee80211_set_freq(dev,
 +				ieee80211_channel_to_frequency(freq->m));
 +	} else {
 +		int i, div = 1000000;
 +		for (i = 0; i < freq->e; i++)
 +			div /= 10;
 +		if (div > 0)
-+			return ieee80211_set_freq(local, freq->m / div);
++			return ieee80211_set_freq(dev, freq->m / div);
 +		else
 +			return -EINVAL;
 +	}
@@ -127160,8 +127680,8 @@
 +	.get_wireless_stats = ieee80211_get_wireless_stats,
 +};
 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-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wme.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wme.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wme.c	2008-06-10 15:07:28.000000000 -0400
 @@ -19,10 +19,13 @@
  #include "wme.h"
  
@@ -127371,8 +127891,8 @@
 +	}
 +}
 diff -up linux-2.6.25.noarch/net/mac80211/wme.h.orig linux-2.6.25.noarch/net/mac80211/wme.h
---- linux-2.6.25.noarch/net/mac80211/wme.h.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wme.h	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wme.h.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wme.h	2008-06-10 15:07:28.000000000 -0400
 @@ -24,6 +24,8 @@
  
  #define QOS_CONTROL_TAG1D_MASK 0x07
@@ -127418,8 +127938,8 @@
  {
  	return 0;
 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-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wpa.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wpa.c	2008-06-10 15:07:28.000000000 -0400
 @@ -70,8 +70,8 @@ static int ieee80211_get_hdr_info(const 
  }
  
@@ -127799,8 +128319,8 @@
 +	return RX_CONTINUE;
  }
 diff -up linux-2.6.25.noarch/net/mac80211/wpa.h.orig linux-2.6.25.noarch/net/mac80211/wpa.h
---- linux-2.6.25.noarch/net/mac80211/wpa.h.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/mac80211/wpa.h	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/mac80211/wpa.h.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/mac80211/wpa.h	2008-06-10 15:07:28.000000000 -0400
 @@ -13,19 +13,19 @@
  #include <linux/types.h>
  #include "ieee80211_i.h"
@@ -127834,8 +128354,8 @@
  
  #endif /* WPA_H */
 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-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/core.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/core.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/core.c	2008-06-10 15:07:28.000000000 -0400
 @@ -232,6 +232,47 @@ int wiphy_register(struct wiphy *wiphy)
  {
  	struct cfg80211_registered_device *drv = wiphy_to_dev(wiphy);
@@ -127885,8 +128405,8 @@
  	mutex_lock(&cfg80211_drv_mutex);
  
 diff -up linux-2.6.25.noarch/net/wireless/core.h.orig linux-2.6.25.noarch/net/wireless/core.h
---- linux-2.6.25.noarch/net/wireless/core.h.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/core.h	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/core.h.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/core.h	2008-06-10 15:07:28.000000000 -0400
 @@ -78,4 +78,7 @@ extern void cfg80211_dev_free(struct cfg
  extern int cfg80211_dev_rename(struct cfg80211_registered_device *drv,
  			       char *newname);
@@ -127896,8 +128416,8 @@
 +
  #endif /* __NET_WIRELESS_CORE_H */
 diff -up linux-2.6.25.noarch/net/wireless/Makefile.orig linux-2.6.25.noarch/net/wireless/Makefile
---- linux-2.6.25.noarch/net/wireless/Makefile.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/Makefile	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/Makefile.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/Makefile	2008-06-10 15:07:28.000000000 -0400
 @@ -1,5 +1,5 @@
  obj-$(CONFIG_WIRELESS_EXT) += wext.o
  obj-$(CONFIG_CFG80211) += cfg80211.o
@@ -127906,8 +128426,8 @@
 +cfg80211-y += core.o sysfs.o radiotap.o util.o reg.o
  cfg80211-$(CONFIG_NL80211) += nl80211.o
 diff -up linux-2.6.25.noarch/net/wireless/nl80211.c.orig linux-2.6.25.noarch/net/wireless/nl80211.c
---- linux-2.6.25.noarch/net/wireless/nl80211.c.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/nl80211.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/nl80211.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/nl80211.c	2008-06-10 15:07:28.000000000 -0400
 @@ -81,7 +81,12 @@ static struct nla_policy nl80211_policy[
  	[NL80211_ATTR_STA_LISTEN_INTERVAL] = { .type = NLA_U16 },
  	[NL80211_ATTR_STA_SUPPORTED_RATES] = { .type = NLA_BINARY,
@@ -128598,8 +129118,8 @@
  
  /* multicast groups */
 diff -up /dev/null linux-2.6.25.noarch/net/wireless/reg.c
---- /dev/null	2008-06-02 07:27:38.814002862 -0400
-+++ linux-2.6.25.noarch/net/wireless/reg.c	2008-06-03 16:19:10.000000000 -0400
+--- /dev/null	2008-06-09 22:05:01.464004840 -0400
++++ linux-2.6.25.noarch/net/wireless/reg.c	2008-06-10 15:07:28.000000000 -0400
 @@ -0,0 +1,162 @@
 +/*
 + * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -128764,8 +129284,8 @@
 +			handle_band(wiphy->bands[band], rd);
 +}
 diff -up /dev/null linux-2.6.25.noarch/net/wireless/util.c
---- /dev/null	2008-06-02 07:27:38.814002862 -0400
-+++ linux-2.6.25.noarch/net/wireless/util.c	2008-06-03 16:19:10.000000000 -0400
+--- /dev/null	2008-06-09 22:05:01.464004840 -0400
++++ linux-2.6.25.noarch/net/wireless/util.c	2008-06-10 15:07:28.000000000 -0400
 @@ -0,0 +1,121 @@
 +/*
 + * Wireless utility functions
@@ -128889,8 +129409,8 @@
 +			set_mandatory_flags_band(wiphy->bands[band], band);
 +}
 diff -up linux-2.6.25.noarch/net/wireless/wext.c.orig linux-2.6.25.noarch/net/wireless/wext.c
---- linux-2.6.25.noarch/net/wireless/wext.c.orig	2008-06-03 16:18:56.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/wext.c	2008-06-03 16:19:10.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/wext.c.orig	2008-06-10 15:07:22.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/wext.c	2008-06-10 15:07:28.000000000 -0400
 @@ -1157,7 +1157,7 @@ static void rtmsg_iwinfo(struct net_devi
  	struct sk_buff *skb;
  	int err;




More information about the fedora-extras-commits mailing list