rpms/kernel/devel config-generic, 1.115, 1.116 kernel.spec, 1.711, 1.712 linux-2.6-wireless-pending.patch, 1.54, 1.55

John W. Linville (linville) fedora-extras-commits at redhat.com
Tue Jun 24 18:31:36 UTC 2008


Author: linville

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

Modified Files:
	config-generic kernel.spec linux-2.6-wireless-pending.patch 
Log Message:
Upstream wireless updates from 2008-06-14


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- config-generic	23 Jun 2008 21:41:57 -0000	1.115
+++ config-generic	24 Jun 2008 18:30:43 -0000	1.116
@@ -1332,6 +1332,7 @@
 CONFIG_IWL3945_DEBUG=y
 CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
 CONFIG_IWL3945_LEDS=y
+CONFIG_MAC80211_HWSIM=m
 CONFIG_NORTEL_HERMES=m
 CONFIG_P54_COMMON=m
 CONFIG_P54_USB=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.711
retrieving revision 1.712
diff -u -r1.711 -r1.712
--- kernel.spec	24 Jun 2008 16:25:48 -0000	1.711
+++ kernel.spec	24 Jun 2008 18:30:43 -0000	1.712
@@ -1785,6 +1785,10 @@
 
 %changelog
 * Tue Jun 24 2008 John W. Linville <linville at redhat.com>
+- Upstream wireless updates from 2008-06-14
+  (http://marc.info/?l=linux-netdev&m=121346686508160&w=2)
+
+* Tue Jun 24 2008 John W. Linville <linville at redhat.com>
 - Restore wireless patches disabled during recent updates
 
 * Tue Jun 24 2008 Dave Jones <davej at redhat.com>

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.54 -r 1.55 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.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- linux-2.6-wireless-pending.patch	24 Jun 2008 16:25:48 -0000	1.54
+++ linux-2.6-wireless-pending.patch	24 Jun 2008 18:30:43 -0000	1.55
@@ -1,3 +1,1111 @@
+commit 87291c0269e77b029282676448fed3706a54211a
+Author: Vladimir Koutny <vlado at work.ksp.sk>
+Date:   Fri Jun 13 16:50:44 2008 +0200
+
+    mac80211: eliminate IBSS warning in rate_lowest_index()
+    
+    In IBSS mode prior to join/creation of new IBSS it is possible that
+    a frame from unknown station is received and an ibss_add_sta() is
+    called. This will cause a warning in rate_lowest_index() since the
+    list of supported rates of our station is not initialized yet.
+    
+    The fix is to add ibss stations with a rate we received that frame
+    at; this single-element set will be extended later based on beacon
+    data. Also there is no need to store stations from a foreign IBSS.
+    
+    Signed-off-by: Vladimir Koutny <vlado at ksp.sk>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c644bce95f287e763a0b49e5d03f0fe6256f6d2e
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:22:02 2008 -0700
+
+    mac80211: tkip.c use a local struct tkip_ctx in ieee80211_get_tkip_key
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 7c70537f97fe35f46762247a4bda72c16d585736
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:22:00 2008 -0700
+
+    mac80211: tkip.c fold ieee80211_gen_rc4key into its one caller
+    
+    Also change the arguments of the phase1, 2 key mixing to take
+    a pointer to the encrytion key and the tkip_ctx in the same
+    order.
+    
+    Do the dereference of the encryption key in the callers.
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c801242c38de247d82f12f6bf28bd19a280a12ae
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:22:00 2008 -0700
+
+    mac80211: tkip.c consolidate tkip IV writing in helper
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 87228f57434108d8463ff10fd408d8d1273a23d2
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:59 2008 -0700
+
+    mac80211: rx.c use new helpers
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 002aaf4ea6be3247c246d274979359c3bc93c82a
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:59 2008 -0700
+
+    mac80211: wme.c use new helpers
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a494bb1cae40dd0a98682826d91ddf533cbc864e
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:58 2008 -0700
+
+    mac80211: use new helpers in util.c - ieee80211_get_bssid()
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d5184cacf3eeaeb6ae0c7a02aa44fe589beeda23
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:58 2008 -0700
+
+    mac80211: wpa.c use new access helpers
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 6693be7124cb8e4f15f0d80ed6e3e50678771737
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:57 2008 -0700
+
+    mac80211: add utility function to get header length
+    
+    Take a __le16 directly rather than a host-endian value.
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c9c6950c14ffc0e30e592fec1ebcb203ad3dff10
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:57 2008 -0700
+
+    mac80211: make ieee80211_get_hdrlen_from_skb return unsigned
+    
+    Many callers already expect it to.
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8b7b1e05b0454f232b8ae1e6ee134b7f0b38abfb
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:56 2008 -0700
+
+    mac80211: remove ieee80211_get_morefrag
+    
+    Replaced by the new helper ieee80211_has_morefrags which is
+    more consistent with the intent of the function.
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit fd7c8a40b2a63863f749e4d17f0d94d2e5ab1331
+Author: Harvey Harrison <harvey.harrison at gmail.com>
+Date:   Wed Jun 11 14:21:56 2008 -0700
+
+    mac80211: add helpers for frame control testing
+    
+    A few general categories:
+    
+    1) ieee80211_has_* tests if particular fctl bits are set, the helpers are de
+    in the same order as the fctl defines:
+    
+    A combined _has_a4 was also added to test when both FROMDS and TODS are set.
+    
+    2) ieee80211_is_* is meant to test whether the frame control is of a certain
+    ftype - data, mgmt, ctl, and two special helpers _is_data_qos, _is_data_pres
+    which also test a subset of the stype space.
+    
+    When testing for a particular stype applicable only to one ftype, functions
+    like ieee80211_is_ack have been added.  Note that the ftype is also being
+    checked in these helpers.  They have been added for all mgmt and ctl stypes
+    in the same order as the STYPE defines.
+    
+    3) ieee80211_get_* is meant to take a struct ieee80211_hdr * and returns a
+    pointer to somewhere in the struct, see get_SA, get_DA, get_qos_ctl.
+    
+    The intel wireless drivers had helpers that used this namespace, convert the
+    all to use the new helpers and remove the byteshifting as they were defined
+    in cpu-order rather than little-endian.
+    
+    Signed-off-by: Harvey Harrison <harvey.harrison at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e36cfdc9b17fa64245ee6206287e5120e59bbfca
+Author: Jouni Malinen <j at w1.fi>
+Date:   Fri Jun 13 19:44:48 2008 +0300
+
+    mac80211_hwsim: Shared TX code for received frames and Beacons
+    
+    Use a shared function for transmitting the frames instead of
+    duplicated code in two places.
+    
+    Signed-off-by: Jouni Malinen <j at w1.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit f248f10515dc7279120adf2d3eabcac9561fb1b4
+Author: Jouni Malinen <j at w1.fi>
+Date:   Fri Jun 13 19:44:47 2008 +0300
+
+    mac80211_hwsim: Minor cleanup
+    
+    Remove unnecessary '__constant_' prefix and use the atomic version of
+    ieee80211_iterate_active_interfaces().
+    
+    Signed-off-by: Jouni Malinen <j at w1.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ba77f1abde3999e45d92c0ba4e0356f7498e959f
+Author: Jouni Malinen <j at w1.fi>
+Date:   Fri Jun 13 19:44:46 2008 +0300
+
+    mac80211_hwsim: Clean up documentation
+    
+    Clean up the introduction and fix a typo.
+    
+    Signed-off-by: Jouni Malinen <j at w1.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit acc1e7a3007ec1940374206a84465c1e0cfcda09
+Author: Jouni Malinen <j at w1.fi>
+Date:   Wed Jun 11 10:42:31 2008 +0300
[...22174 lines suppressed...]
+-	u16 fc;
 +	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
-+	int hdrlen, len, tail;
- 	u16 fc;
++	unsigned int hdrlen;
++	int len, tail;
  	u8 *pos;
  
+-	fc = le16_to_cpu(hdr->frame_control);
+-	hdrlen = ieee80211_get_hdrlen(fc);
 +	info->control.icv_len = TKIP_ICV_LEN;
 +	info->control.iv_len = TKIP_IV_LEN;
 +
@@ -54119,8 +61585,7 @@
 +		return 0;
 +	}
 +
- 	fc = le16_to_cpu(hdr->frame_control);
- 	hdrlen = ieee80211_get_hdrlen(fc);
++	hdrlen = ieee80211_hdrlen(hdr->frame_control);
  	len = skb->len - hdrlen;
  
  	if (tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
@@ -54154,24 +61619,22 @@
 +		key->u.tkip.tx.iv32++;
  
  	if (tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) {
- 		hdr = (struct ieee80211_hdr *)skb->data;
- 
+-		hdr = (struct ieee80211_hdr *)skb->data;
+-
  		/* hwaccel - with preallocated room for IV */
- 		ieee80211_tkip_add_iv(pos, key,
+-		ieee80211_tkip_add_iv(pos, key,
 -				      (u8) (key->u.tkip.iv16 >> 8),
 -				      (u8) (((key->u.tkip.iv16 >> 8) | 0x20) &
-+				      (u8) (key->u.tkip.tx.iv16 >> 8),
-+				      (u8) (((key->u.tkip.tx.iv16 >> 8) | 0x20) &
- 					    0x7f),
+-					    0x7f),
 -				      (u8) key->u.tkip.iv16);
-+				      (u8) key->u.tkip.tx.iv16);
++		ieee80211_tkip_add_iv(pos, key, key->u.tkip.tx.iv16);
  
 -		tx->control->key_idx = tx->key->conf.hw_key_idx;
 +		info->control.hw_key = &tx->key->conf;
  		return 0;
  	}
  
-@@ -246,28 +250,16 @@ ieee80211_tx_result
+@@ -246,28 +219,16 @@ ieee80211_tx_result
  ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx)
  {
  	struct sk_buff *skb = tx->skb;
@@ -54202,7 +61665,23 @@
  				return TX_DROP;
  		}
  	}
-@@ -429,16 +421,27 @@ static inline int ccmp_hdr2pn(u8 *pn, u8
+@@ -280,14 +241,12 @@ ieee80211_rx_result
+ ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx)
+ {
+ 	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) rx->skb->data;
+-	u16 fc;
+ 	int hdrlen, res, hwaccel = 0, wpa_test = 0;
+ 	struct ieee80211_key *key = rx->key;
+ 	struct sk_buff *skb = rx->skb;
+ 	DECLARE_MAC_BUF(mac);
+ 
+-	fc = le16_to_cpu(hdr->frame_control);
+-	hdrlen = ieee80211_get_hdrlen(fc);
++	hdrlen = ieee80211_hdrlen(hdr->frame_control);
+ 
+ 	if ((rx->fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA)
+ 		return RX_CONTINUE;
+@@ -429,36 +388,41 @@ static inline int ccmp_hdr2pn(u8 *pn, u8
  }
  
  
@@ -54213,9 +61692,9 @@
  	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
  	struct ieee80211_key *key = tx->key;
 -	int hdrlen, len, tailneed;
+-	u16 fc;
 +	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
 +	int hdrlen, len, tail;
- 	u16 fc;
  	u8 *pos, *pn, *b_0, *aad, *scratch;
  	int i;
  
@@ -54233,7 +61712,10 @@
  	scratch = key->u.ccmp.tx_crypto_buf;
  	b_0 = scratch + 3 * AES_BLOCK_LEN;
  	aad = scratch + 4 * AES_BLOCK_LEN;
-@@ -448,17 +451,13 @@ static int ccmp_encrypt_skb(struct ieee8
+ 
+-	fc = le16_to_cpu(hdr->frame_control);
+-	hdrlen = ieee80211_get_hdrlen(fc);
++	hdrlen = ieee80211_hdrlen(hdr->frame_control);
  	len = skb->len - hdrlen;
  
  	if (key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
@@ -54256,7 +61738,7 @@
  
  	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
+@@ -478,7 +442,7 @@ static int ccmp_encrypt_skb(struct ieee8
  
  	if (key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) {
  		/* hwaccel - with preallocated room for CCMP header */
@@ -54265,7 +61747,7 @@
  		return 0;
  	}
  
-@@ -495,28 +494,16 @@ ieee80211_tx_result
+@@ -495,28 +459,16 @@ ieee80211_tx_result
  ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx)
  {
  	struct sk_buff *skb = tx->skb;
@@ -54296,9 +61778,27 @@
  				return TX_DROP;
  		}
  	}
+@@ -529,7 +481,6 @@ ieee80211_rx_result
+ ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx)
+ {
+ 	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) rx->skb->data;
+-	u16 fc;
+ 	int hdrlen;
+ 	struct ieee80211_key *key = rx->key;
+ 	struct sk_buff *skb = rx->skb;
+@@ -537,8 +488,7 @@ ieee80211_crypto_ccmp_decrypt(struct iee
+ 	int data_len;
+ 	DECLARE_MAC_BUF(mac);
+ 
+-	fc = le16_to_cpu(hdr->frame_control);
+-	hdrlen = ieee80211_get_hdrlen(fc);
++	hdrlen = ieee80211_hdrlen(hdr->frame_control);
+ 
+ 	if ((rx->fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA)
+ 		return RX_CONTINUE;
 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-24 11:07:09.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/core.c	2008-06-24 11:44:08.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/core.c.orig	2008-06-24 14:05:07.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/core.c	2008-06-24 14:05:20.000000000 -0400
 @@ -143,8 +143,11 @@ void cfg80211_put_dev(struct cfg80211_re
  int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
  			char *newname)
@@ -54362,8 +61862,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-04-16 22:49:44.000000000 -0400
-+++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-06-24 11:44:08.000000000 -0400
+--- linux-2.6.25.noarch/net/wireless/radiotap.c.orig	2008-06-24 14:05:07.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/radiotap.c	2008-06-24 14:05:20.000000000 -0400
 @@ -59,23 +59,21 @@ int ieee80211_radiotap_iterator_init(
  		return -EINVAL;
  
@@ -54404,3 +61904,38 @@
  				iterator->next_bitmap++;
  			} else
  				/* no more bitmaps: end */
+diff -up linux-2.6.25.noarch/net/wireless/reg.c.orig linux-2.6.25.noarch/net/wireless/reg.c
+--- linux-2.6.25.noarch/net/wireless/reg.c.orig	2008-06-24 11:07:09.000000000 -0400
++++ linux-2.6.25.noarch/net/wireless/reg.c	2008-06-24 14:05:32.000000000 -0400
+@@ -80,6 +80,23 @@ static const struct ieee80211_channel_ra
+ 				     IEEE80211_CHAN_RADAR),
+ };
+ 
++static const struct ieee80211_channel_range ieee80211_EU_channels[] = {
++	/* IEEE 802.11b/g, channels 1..13 */
++	RANGE_PWR(2412, 2472, 20, 6, 0),
++	/* IEEE 802.11a, channel 36*/
++	RANGE_PWR(5180, 5180, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN),
++	/* IEEE 802.11a, channel 40*/
++	RANGE_PWR(5200, 5200, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN),
++	/* IEEE 802.11a, channel 44*/
++	RANGE_PWR(5220, 5220, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN),
++	/* IEEE 802.11a, channels 48..64 */
++	RANGE_PWR(5240, 5320, 23, 6, IEEE80211_CHAN_NO_IBSS |
++				     IEEE80211_CHAN_RADAR),
++	/* IEEE 802.11a, channels 100..140 */
++	RANGE_PWR(5500, 5700, 30, 6, IEEE80211_CHAN_NO_IBSS |
++				     IEEE80211_CHAN_RADAR),
++};
++
+ #define REGDOM(_code)							\
+ 	{								\
+ 		.code = __stringify(_code),				\
+@@ -90,6 +107,7 @@ static const struct ieee80211_channel_ra
+ static const struct ieee80211_regdomain ieee80211_regdoms[] = {
+ 	REGDOM(US),
+ 	REGDOM(JP),
++	REGDOM(EU),
+ };
+ 
+ 




More information about the fedora-extras-commits mailing list