rpms/kernel/F-7 linux-2.6-wireless.patch, 1.4, 1.5 git-wireless-dev.patch, 1.14, 1.15 kernel-2.6.spec, 1.3286, 1.3287

John W. Linville (linville) fedora-extras-commits at redhat.com
Tue Jul 17 20:23:09 UTC 2007


Author: linville

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

Modified Files:
	git-wireless-dev.patch kernel-2.6.spec 
Added Files:
	linux-2.6-wireless.patch 
Log Message:
update wireless bits

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.4 -r 1.5 linux-2.6-wireless.patch
Index: linux-2.6-wireless.patch
===================================================================
RCS file: linux-2.6-wireless.patch
diff -N linux-2.6-wireless.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ linux-2.6-wireless.patch	17 Jul 2007 20:22:35 -0000	1.5
@@ -0,0 +1,4047 @@
+--- linux-2.6.22.noarch/include/linux/ieee80211.h.orig	2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/ieee80211.h	2007-07-17 15:47:36.000000000 -0400
+@@ -227,6 +227,17 @@ struct ieee80211_cts {
+ #define WLAN_CAPABILITY_SHORT_SLOT_TIME	(1<<10)
+ #define WLAN_CAPABILITY_DSSS_OFDM	(1<<13)
+ 
++/* 802.11g ERP information element */
++#define WLAN_ERP_NON_ERP_PRESENT (1<<0)
++#define WLAN_ERP_USE_PROTECTION (1<<1)
++#define WLAN_ERP_BARKER_PREAMBLE (1<<2)
++
++/* WLAN_ERP_BARKER_PREAMBLE values */
++enum {
++	WLAN_ERP_PREAMBLE_SHORT = 0,
++	WLAN_ERP_PREAMBLE_LONG = 1,
++};
++
+ /* Status codes */
+ enum ieee80211_statuscode {
+ 	WLAN_STATUS_SUCCESS = 0,
+--- linux-2.6.22.noarch/include/net/cfg80211.h.orig	2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/include/net/cfg80211.h	2007-07-17 15:47:36.000000000 -0400
+@@ -11,6 +11,44 @@
+  * Copyright 2006 Johannes Berg <johannes at sipsolutions.net>
+  */
+ 
++
++/* Radiotap header iteration
++ *   implemented in net/wireless/radiotap.c
++ *   docs in Documentation/networking/radiotap-headers.txt
++ */
++/**
++ * struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args
++ * @rtheader: pointer to the radiotap header we are walking through
++ * @max_length: length of radiotap header in cpu byte ordering
++ * @this_arg_index: IEEE80211_RADIOTAP_... index of current arg
++ * @this_arg: pointer to current radiotap arg
++ * @arg_index: internal next argument index
++ * @arg: internal next argument pointer
++ * @next_bitmap: internal pointer to next present u32
++ * @bitmap_shifter: internal shifter for curr u32 bitmap, b0 set == arg present
++ */
++
++struct ieee80211_radiotap_iterator {
++	struct ieee80211_radiotap_header *rtheader;
++	int max_length;
++	int this_arg_index;
++	u8 *this_arg;
++
++	int arg_index;
++	u8 *arg;
++	__le32 *next_bitmap;
++	u32 bitmap_shifter;
++};
++
++extern int ieee80211_radiotap_iterator_init(
++   struct ieee80211_radiotap_iterator *iterator,
++   struct ieee80211_radiotap_header *radiotap_header,
++   int max_length);
++
++extern int ieee80211_radiotap_iterator_next(
++   struct ieee80211_radiotap_iterator *iterator);
++
++
+ /* from net/wireless.h */
+ struct wiphy;
+ 
+--- linux-2.6.22.noarch/include/net/mac80211.h.orig	2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/include/net/mac80211.h	2007-07-17 15:47:36.000000000 -0400
+@@ -347,9 +347,16 @@ enum ieee80211_if_types {
+  * @mac_addr: pointer to MAC address of the interface. This pointer is valid
+  *	until the interface is removed (i.e. it cannot be used after
+  *	remove_interface() callback was called for this interface).
++ *	This pointer will be %NULL for monitor interfaces, be careful.
+  *
+  * This structure is used in add_interface() and remove_interface()
+  * callbacks of &struct ieee80211_hw.
++ *
++ * When you allow multiple interfaces to be added to your PHY, take care
++ * that the hardware can actually handle multiple MAC addresses. However,
++ * also take care that when there's no interface left with mac_addr != %NULL
++ * you remove the MAC address from the device to avoid acknowledging packets
++ * in pure monitor mode.
+  */
+ struct ieee80211_if_init_conf {
+ 	int if_id;
+@@ -574,10 +581,11 @@ struct ieee80211_ops {
+ 	 * to returning zero. By returning non-zero addition of the interface
+ 	 * is inhibited. Unless monitor_during_oper is set, it is guaranteed
+ 	 * that monitor interfaces and normal interfaces are mutually
+-	 * exclusive. The open() handler is called after add_interface()
+-	 * if this is the first device added. At least one of the open()
+-	 * open() and add_interface() callbacks has to be assigned. If
+-	 * add_interface() is NULL, one STA interface is permitted only. */
++	 * exclusive. If assigned, the open() handler is called after
++	 * add_interface() if this is the first device added. The
++	 * add_interface() callback has to be assigned because it is the only
++	 * way to obtain the requested MAC address for any interface.
++	 */
+ 	int (*add_interface)(struct ieee80211_hw *hw,
+ 			     struct ieee80211_if_init_conf *conf);
+ 
+@@ -921,12 +929,6 @@ struct sk_buff *
+ ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id,
+ 			  struct ieee80211_tx_control *control);
+ 
+-/* Low level drivers that have their own MLME and MAC indicate
+- * the aid for an associating station with this call */
+-int ieee80211_set_aid_for_sta(struct ieee80211_hw *hw,
+-			      u8 *peer_address, u16 aid);
+-
+-
+ /* Given an sk_buff with a raw 802.11 header at the data pointer this function
+  * returns the 802.11 header length in bytes (not including encryption
+  * headers). If the data in the sk_buff is too short to contain a valid 802.11
+--- linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c.orig	2007-07-17 15:51:35.000000000 -0400
++++ linux-2.6.22.noarch/net/ieee80211/softmac/ieee80211softmac_assoc.c	2007-07-17 15:49:45.000000000 -0400
+@@ -271,8 +271,11 @@ ieee80211softmac_assoc_work(struct work_
+ 			 */
+ 			dprintk(KERN_INFO PFX "Associate: Scanning for networks first.\n");
+ 			ieee80211softmac_notify(mac->dev, IEEE80211SOFTMAC_EVENT_SCAN_FINISHED, ieee80211softmac_assoc_notify_scan, NULL);
+-			if (ieee80211softmac_start_scan(mac))
++			if (ieee80211softmac_start_scan(mac)) {
+ 				dprintk(KERN_INFO PFX "Associate: failed to initiate scan. Is device up?\n");
++				mac->associnfo.associating = 0;
++				mac->associnfo.associated = 0;
++			}
+ 			goto out;
+ 		} else {
+ 			mac->associnfo.associating = 0;
+--- linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c.orig	2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_iface.c	2007-07-17 15:47:36.000000000 -0400
+@@ -157,6 +157,8 @@ void ieee80211_if_set_type(struct net_de
+ 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ 	int oldtype = sdata->type;
+ 
++	dev->hard_start_xmit = ieee80211_subif_start_xmit;
++
+ 	sdata->type = type;
+ 	switch (type) {
+ 	case IEEE80211_IF_TYPE_WDS:
+@@ -196,6 +198,7 @@ void ieee80211_if_set_type(struct net_de
+ 	}
+ 	case IEEE80211_IF_TYPE_MNTR:
+ 		dev->type = ARPHRD_IEEE80211_RADIOTAP;
++		dev->hard_start_xmit = ieee80211_monitor_start_xmit;
+ 		break;
+ 	default:
+ 		printk(KERN_WARNING "%s: %s: Unknown interface type 0x%x",
+--- linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c.orig	2007-07-08 19:32:17.000000000 -0400
++++ linux-2.6.22.noarch/net/mac80211/ieee80211_ioctl.c	2007-07-17 15:47:36.000000000 -0400
+@@ -345,6 +345,8 @@ static int ieee80211_ioctl_giwrange(stru
+ {
+ 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ 	struct iw_range *range = (struct iw_range *) extra;
++	struct ieee80211_hw_mode *mode = NULL;
++	int c = 0;
+ 
+ 	data->length = sizeof(struct iw_range);
+ 	memset(range, 0, sizeof(struct iw_range));
+@@ -378,6 +380,29 @@ static int ieee80211_ioctl_giwrange(stru
+ 	range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
+ 			  IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
+ 
++	list_for_each_entry(mode, &local->modes_list, list) {
++		int i = 0;
++
++		if (!(local->enabled_modes & (1 << mode->mode)) ||
++		    (local->hw_modes & local->enabled_modes &
++		     (1 << MODE_IEEE80211G) && mode->mode == MODE_IEEE80211B))
++			continue;
++
++		while (i < mode->num_channels && c < IW_MAX_FREQUENCIES) {
++			struct ieee80211_channel *chan = &mode->channels[i];
++
++			if (chan->flag & IEEE80211_CHAN_W_SCAN) {
++				range->freq[c].i = chan->chan;
++				range->freq[c].m = chan->freq * 100000;
++				range->freq[c].e = 1;
++				c++;
++			}
++			i++;
++		}
++	}
++	range->num_channels = c;
++	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);
+@@ -838,6 +863,67 @@ static int ieee80211_ioctl_giwscan(struc
+ }
+ 
[...3654 lines suppressed...]
++Despite 13 radiotap argument types are currently defined, most only make sense
++to appear on received packets.  Currently three kinds of argument are used by
++the injection code, although it knows to skip any other arguments that are
++present (facilitating replay of captured radiotap headers directly):
++
++ - IEEE80211_RADIOTAP_RATE - u8 arg in 500kbps units (0x02 --> 1Mbps)
++
++ - IEEE80211_RADIOTAP_ANTENNA - u8 arg, 0x00 = ant1, 0x01 = ant2
++
++ - IEEE80211_RADIOTAP_DBM_TX_POWER - u8 arg, dBm
++
++Here is an example valid radiotap header defining these three parameters
++
++	0x00, 0x00, // <-- radiotap version
++	0x0b, 0x00, // <- radiotap header length
++	0x04, 0x0c, 0x00, 0x00, // <-- bitmap
++	0x6c, // <-- rate
++	0x0c, //<-- tx power
++	0x01 //<-- antenna
++
++The ieee80211 header follows immediately afterwards, looking for example like
++this:
++
++	0x08, 0x01, 0x00, 0x00,
++	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
++	0x13, 0x22, 0x33, 0x44, 0x55, 0x66,
++	0x13, 0x22, 0x33, 0x44, 0x55, 0x66,
++	0x10, 0x86
++
++Then lastly there is the payload.
++
++After composing the packet contents, it is sent by send()-ing it to a logical
++mac80211 interface that is in Monitor mode.  Libpcap can also be used,
++(which is easier than doing the work to bind the socket to the right
++interface), along the following lines:
++
++	ppcap = pcap_open_live(szInterfaceName, 800, 1, 20, szErrbuf);
++...
++	r = pcap_inject(ppcap, u8aSendBuffer, nLength);
++
++You can also find sources for a complete inject test applet here:
++
++http://penumbra.warmcat.com/_twk/tiki-index.php?page=packetspammer
++
++Andy Green <andy at warmcat.com>
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/Documentation/networking/radiotap-headers.txt	2007-07-17 15:47:36.000000000 -0400
+@@ -0,0 +1,152 @@
++How to use radiotap headers
++===========================
++
++Pointer to the radiotap include file
++------------------------------------
++
++Radiotap headers are variable-length and extensible, you can get most of the
++information you need to know on them from:
++
++./include/net/ieee80211_radiotap.h
++
++This document gives an overview and warns on some corner cases.
++
++
++Structure of the header
++-----------------------
++
++There is a fixed portion at the start which contains a u32 bitmap that defines
++if the possible argument associated with that bit is present or not.  So if b0
++of the it_present member of ieee80211_radiotap_header is set, it means that
++the header for argument index 0 (IEEE80211_RADIOTAP_TSFT) is present in the
++argument area.
++
++   < 8-byte ieee80211_radiotap_header >
++   [ <possible argument bitmap extensions ... > ]
++   [ <argument> ... ]
++
++At the moment there are only 13 possible argument indexes defined, but in case
++we run out of space in the u32 it_present member, it is defined that b31 set
++indicates that there is another u32 bitmap following (shown as "possible
++argument bitmap extensions..." above), and the start of the arguments is moved
++forward 4 bytes each time.
++
++Note also that the it_len member __le16 is set to the total number of bytes
++covered by the ieee80211_radiotap_header and any arguments following.
++
++
++Requirements for arguments
++--------------------------
++
++After the fixed part of the header, the arguments follow for each argument
++index whose matching bit is set in the it_present member of
++ieee80211_radiotap_header.
++
++ - the arguments are all stored little-endian!
++
++ - the argument payload for a given argument index has a fixed size.  So
++   IEEE80211_RADIOTAP_TSFT being present always indicates an 8-byte argument is
++   present.  See the comments in ./include/net/ieee80211_radiotap.h for a nice
++   breakdown of all the argument sizes
++
++ - the arguments must be aligned to a boundary of the argument size using
++   padding.  So a u16 argument must start on the next u16 boundary if it isn't
++   already on one, a u32 must start on the next u32 boundary and so on.
++
++ - "alignment" is relative to the start of the ieee80211_radiotap_header, ie,
++   the first byte of the radiotap header.  The absolute alignment of that first
++   byte isn't defined.  So even if the whole radiotap header is starting at, eg,
++   address 0x00000003, still the first byte of the radiotap header is treated as
++   0 for alignment purposes.
++
++ - the above point that there may be no absolute alignment for multibyte
++   entities in the fixed radiotap header or the argument region means that you
++   have to take special evasive action when trying to access these multibyte
++   entities.  Some arches like Blackfin cannot deal with an attempt to
++   dereference, eg, a u16 pointer that is pointing to an odd address.  Instead
++   you have to use a kernel API get_unaligned() to dereference the pointer,
++   which will do it bytewise on the arches that require that.
++
++ - The arguments for a given argument index can be a compound of multiple types
++   together.  For example IEEE80211_RADIOTAP_CHANNEL has an argument payload
++   consisting of two u16s of total length 4.  When this happens, the padding
++   rule is applied dealing with a u16, NOT dealing with a 4-byte single entity.
++
++
++Example valid radiotap header
++-----------------------------
++
++	0x00, 0x00, // <-- radiotap version + pad byte
++	0x0b, 0x00, // <- radiotap header length
++	0x04, 0x0c, 0x00, 0x00, // <-- bitmap
++	0x6c, // <-- rate (in 500kHz units)
++	0x0c, //<-- tx power
++	0x01 //<-- antenna
++
++
++Using the Radiotap Parser
++-------------------------
++
++If you are having to parse a radiotap struct, you can radically simplify the
++job by using the radiotap parser that lives in net/wireless/radiotap.c and has
++its prototypes available in include/net/cfg80211.h.  You use it like this:
++
++#include <net/cfg80211.h>
++
++/* buf points to the start of the radiotap header part */
++
++int MyFunction(u8 * buf, int buflen)
++{
++	int pkt_rate_100kHz = 0, antenna = 0, pwr = 0;
++	struct ieee80211_radiotap_iterator iterator;
++	int ret = ieee80211_radiotap_iterator_init(&iterator, buf, buflen);
++
++	while (!ret) {
++
++		ret = ieee80211_radiotap_iterator_next(&iterator);
++
++		if (ret)
++			continue;
++
++		/* see if this argument is something we can use */
++
++		switch (iterator.this_arg_index) {
++		/*
++		 * You must take care when dereferencing iterator.this_arg
++		 * for multibyte types... the pointer is not aligned.  Use
++		 * get_unaligned((type *)iterator.this_arg) to dereference
++		 * iterator.this_arg for type "type" safely on all arches.
++		 */
++		case IEEE80211_RADIOTAP_RATE:
++			/* radiotap "rate" u8 is in
++			 * 500kbps units, eg, 0x02=1Mbps
++			 */
++			pkt_rate_100kHz = (*iterator.this_arg) * 5;
++			break;
++
++		case IEEE80211_RADIOTAP_ANTENNA:
++			/* radiotap uses 0 for 1st ant */
++			antenna = *iterator.this_arg);
++			break;
++
++		case IEEE80211_RADIOTAP_DBM_TX_POWER:
++			pwr = *iterator.this_arg;
++			break;
++
++		default:
++			break;
++		}
++	}  /* while more rt headers */
++
++	if (ret != -ENOENT)
++		return TXRX_DROP;
++
++	/* discard the radiotap header part */
++	buf += iterator.max_length;
++	buflen -= iterator.max_length;
++
++	...
++
++}
++
++Andy Green <andy at warmcat.com>

git-wireless-dev.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.14 -r 1.15 git-wireless-dev.patch
Index: git-wireless-dev.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/git-wireless-dev.patch,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- git-wireless-dev.patch	11 Jul 2007 18:51:31 -0000	1.14
+++ git-wireless-dev.patch	17 Jul 2007 20:22:34 -0000	1.15
@@ -1,5 +1,5 @@
 --- linux-2.6.22.noarch/CREDITS.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/CREDITS	2007-07-11 12:00:55.000000000 -0400
++++ linux-2.6.22.noarch/CREDITS	2007-07-17 15:57:34.000000000 -0400
 @@ -665,6 +665,11 @@ D: Minor updates to SCSI types, added /p
  S: (ask for current address)
  S: USA
@@ -67,7 +67,7 @@
  E: liw at iki.fi
  D: Linux System Administrator's Guide, author, former maintainer
 --- linux-2.6.22.noarch/include/linux/nl80211.h.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/nl80211.h	2007-07-11 12:00:55.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/nl80211.h	2007-07-17 15:57:34.000000000 -0400
 @@ -7,6 +7,217 @@
   */
  
@@ -343,8 +343,8 @@
 +#define NL80211_KEYTYPE_MAX (__NL80211_KEYTYPE_AFTER_LAST - 1)
 +
  #endif /* __LINUX_NL80211_H */
---- linux-2.6.22.noarch/include/linux/ieee80211.h.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/linux/ieee80211.h	2007-07-11 12:00:55.000000000 -0400
+--- linux-2.6.22.noarch/include/linux/ieee80211.h.orig	2007-07-17 15:56:37.000000000 -0400
++++ linux-2.6.22.noarch/include/linux/ieee80211.h	2007-07-17 15:57:34.000000000 -0400
 @@ -106,6 +106,75 @@ struct ieee80211_hdr {
  } __attribute__ ((packed));
  
@@ -499,7 +499,7 @@
  			} u;
  		} __attribute__ ((packed)) action;
  	} u;
-@@ -259,6 +389,18 @@ enum ieee80211_statuscode {
+@@ -270,6 +400,18 @@ enum ieee80211_statuscode {
  	WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
  	WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
  	WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
@@ -518,7 +518,7 @@
  };
  
  
-@@ -289,9 +431,50 @@ enum ieee80211_reasoncode {
+@@ -300,9 +442,50 @@ enum ieee80211_reasoncode {
  	WLAN_REASON_INVALID_RSN_IE_CAP = 22,
  	WLAN_REASON_IEEE8021X_FAILED = 23,
  	WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
@@ -569,7 +569,7 @@
  /* Information Element IDs */
  enum ieee80211_eid {
  	WLAN_EID_SSID = 0,
-@@ -307,6 +490,15 @@ enum ieee80211_eid {
+@@ -318,6 +501,15 @@ enum ieee80211_eid {
  	WLAN_EID_HP_PARAMS = 8,
  	WLAN_EID_HP_TABLE = 9,
  	WLAN_EID_REQUEST = 10,
@@ -585,7 +585,7 @@
  	/* 802.11h */
  	WLAN_EID_PWR_CONSTRAINT = 32,
  	WLAN_EID_PWR_CAPABILITY = 33,
-@@ -321,6 +513,9 @@ enum ieee80211_eid {
+@@ -332,6 +524,9 @@ enum ieee80211_eid {
  	/* 802.11g */
  	WLAN_EID_ERP_INFO = 42,
  	WLAN_EID_EXT_SUPP_RATES = 50,
@@ -595,7 +595,7 @@
  	/* 802.11i */
  	WLAN_EID_RSN = 48,
  	WLAN_EID_WPA = 221,
-@@ -329,6 +524,9 @@ enum ieee80211_eid {
+@@ -340,6 +535,9 @@ enum ieee80211_eid {
  	WLAN_EID_QOS_PARAMETER = 222
  };
  
@@ -605,7 +605,7 @@
  /* cipher suite selectors */
  #define WLAN_CIPHER_SUITE_USE_GROUP	0x000FAC00
  #define WLAN_CIPHER_SUITE_WEP40		0x000FAC01
-@@ -339,4 +537,37 @@ enum ieee80211_eid {
+@@ -350,4 +548,37 @@ enum ieee80211_eid {
  
  #define WLAN_MAX_KEY_LEN		32
  
@@ -643,8 +643,8 @@
 +};
 +
  #endif /* IEEE80211_H */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_chipcommon.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_chipcommon.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,387 @@
 +#ifndef LINUX_SSB_CHIPCO_H_
 +#define LINUX_SSB_CHIPCO_H_
@@ -1033,8 +1033,8 @@
 +
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_CHIPCO_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_extif.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_extif.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,163 @@
 +/*
 + * Hardware-specific External Interface I/O core definitions
@@ -1199,8 +1199,8 @@
 +
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_EXTIFCORE_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_mips.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_mips.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,47 @@
 +#ifndef LINUX_SSB_MIPSCORE_H_
 +#define LINUX_SSB_MIPSCORE_H_
@@ -1249,8 +1249,8 @@
 +
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_MIPSCORE_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_regs.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_regs.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,294 @@
 +#ifndef LINUX_SSB_REGS_H_
 +#define LINUX_SSB_REGS_H_
@@ -1546,8 +1546,8 @@
 +
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_REGS_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_pci.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb_driver_pci.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,108 @@
 +#ifndef LINUX_SSB_PCICORE_H_
 +#define LINUX_SSB_PCICORE_H_
@@ -1657,8 +1657,8 @@
 +#endif /* CONFIG_SSB_DRIVER_PCICORE */
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_PCICORE_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/include/linux/ssb/ssb.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/include/linux/ssb/ssb.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,422 @@
 +#ifndef LINUX_SSB_H_
 +#define LINUX_SSB_H_
@@ -2082,8 +2082,8 @@
 +
 +#endif /* __KERNEL__ */
 +#endif /* LINUX_SSB_H_ */
---- linux-2.6.22.noarch/include/net/cfg80211.h.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/cfg80211.h	2007-07-11 12:00:55.000000000 -0400
+--- linux-2.6.22.noarch/include/net/cfg80211.h.orig	2007-07-17 15:56:37.000000000 -0400
++++ linux-2.6.22.noarch/include/net/cfg80211.h	2007-07-17 15:57:34.000000000 -0400
 @@ -3,6 +3,7 @@
  
  #include <linux/netlink.h>
@@ -2159,10 +2159,10 @@
 +	u32 cipher;
 +};
 +
- /* from net/wireless.h */
- struct wiphy;
  
-@@ -30,11 +94,62 @@ struct wiphy;
+ /* Radiotap header iteration
+  *   implemented in net/wireless/radiotap.c
+@@ -68,11 +132,62 @@ struct wiphy;
   * @add_virtual_intf: create a new virtual interface with the given name
   *
   * @del_virtual_intf: remove the virtual interface determined by ifindex.
@@ -2226,8 +2226,8 @@
 +			    u32 seq, int flags, u8 cmd);
 +
  #endif /* __NET_CFG80211_H */
---- linux-2.6.22.noarch/include/net/mac80211.h.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/include/net/mac80211.h	2007-07-11 12:00:55.000000000 -0400
+--- linux-2.6.22.noarch/include/net/mac80211.h.orig	2007-07-17 15:56:37.000000000 -0400
++++ linux-2.6.22.noarch/include/net/mac80211.h	2007-07-17 15:57:34.000000000 -0400
 @@ -300,7 +300,6 @@ struct ieee80211_conf {
  	/* Following five fields are used for IEEE 802.11H */
  	unsigned int radar_detect;
@@ -2236,7 +2236,7 @@
  	unsigned int quiet_duration; /* duration of quiet period */
  	unsigned int quiet_offset; /* how far into the beacon is the quiet
  				    * period */
-@@ -514,6 +513,9 @@ struct ieee80211_hw {
+@@ -521,6 +520,9 @@ struct ieee80211_hw {
  	 * per-packet RC4 key with each TX frame when doing hwcrypto */
  #define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
  
[...2215 lines suppressed...]
 +}
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2500pci.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2500pci.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,1914 @@
 +/*
 +	Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -80234,8 +80181,8 @@
 +
 +module_init(rt2500pci_init);
 +module_exit(rt2500pci_exit);
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt61pci.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt61pci.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,2331 @@
 +/*
 +	Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -82568,8 +82515,8 @@
 +
 +module_init(rt61pci_init);
 +module_exit(rt61pci_exit);
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2x00pci.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2x00pci.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,407 @@
 +/*
 +	Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -82978,8 +82925,8 @@
 +MODULE_VERSION(DRV_VERSION);
 +MODULE_DESCRIPTION("rt2x00 library");
 +MODULE_LICENSE("GPL");
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2x00pci.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt2x00pci.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,112 @@
 +/*
 +	Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -83093,8 +83040,8 @@
 +#endif /* CONFIG_PM */
 +
 +#endif /* RT2X00PCI_H */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt73usb.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/rt2x00/rt73usb.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,1903 @@
 +/*
 +	Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -84999,13 +84946,13 @@
 +
 +module_init(rt73usb_init);
 +module_exit(rt73usb_exit);
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/README	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/mac80211/README	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,2 @@
 +This directory contains IEEE 802.11 wireless LAN drivers that are using
 +Devicescape IEEE 802.11 stack (net/mac80211).
---- linux-2.6.22.noarch/drivers/net/wireless/Kconfig.orig	2007-07-11 12:00:29.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/Kconfig	2007-07-11 12:00:55.000000000 -0400
+--- linux-2.6.22.noarch/drivers/net/wireless/Kconfig.orig	2007-07-17 15:56:37.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/Kconfig	2007-07-17 15:57:34.000000000 -0400
 @@ -562,4 +562,6 @@ source "drivers/net/wireless/hostap/Kcon
  source "drivers/net/wireless/bcm43xx/Kconfig"
  source "drivers/net/wireless/zd1211rw/Kconfig"
@@ -85014,7 +84961,7 @@
 +
  endmenu
 --- linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/Kconfig.orig	2007-07-08 19:32:17.000000000 -0400
-+++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/Kconfig	2007-07-11 12:00:55.000000000 -0400
++++ linux-2.6.22.noarch/drivers/net/wireless/bcm43xx/Kconfig	2007-07-17 15:57:34.000000000 -0400
 @@ -1,6 +1,7 @@
  config BCM43XX
  	tristate "Broadcom BCM43xx wireless support"
@@ -85023,8 +84970,8 @@
  	select WIRELESS_EXT
  	select FW_LOADER
  	select HW_RANDOM
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/Makefile	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/Makefile	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,11 @@
 +ssb-builtin-drivers-y					+= driver_chipcommon.o
 +ssb-builtin-drivers-$(CONFIG_SSB_DRIVER_MIPS)		+= driver_mipscore.o
@@ -85037,8 +84984,8 @@
 +
 +ssb-objs	:= main.o scan.o \
 +		   $(ssb-hostsupport-y) $(ssb-builtin-drivers-y)
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pcmcia.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pcmcia.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,263 @@
 +/*
 + * Sonics Silicon Backplane
@@ -85303,8 +85250,8 @@
 +error:
 +	return -ENODEV;
 +}
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/main.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/main.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,1061 @@
 +/*
 + * Sonics Silicon Backplane
@@ -86367,8 +86314,8 @@
 +	bus_unregister(&ssb_bustype);
 +}
 +module_exit(ssb_modexit)
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pcihost_wrapper.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pcihost_wrapper.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,104 @@
 +/*
 + * Sonics Silicon Backplane
@@ -86474,8 +86421,8 @@
 +	return pci_register_driver(driver);
 +}
 +EXPORT_SYMBOL(ssb_pcihost_register);
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_mipscore.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_mipscore.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,258 @@
 +/*
 + * Sonics Silicon Backplane
@@ -86735,8 +86682,8 @@
 +	ssb_mips_serial_init(mcore);
 +	ssb_mips_flash_detect(mcore);
 +}
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/ssb_private.h	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/ssb_private.h	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,137 @@
 +#ifndef LINUX_SSB_PRIVATE_H_
 +#define LINUX_SSB_PRIVATE_H_
@@ -86875,8 +86822,8 @@
 +#endif /* CONFIG_SSB_PCIHOST */
 +
 +#endif /* LINUX_SSB_PRIVATE_H_ */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/pci.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/pci.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,688 @@
 +/*
 + * Sonics Silicon Backplane PCI-Hostbus related functions.
@@ -87566,8 +87513,8 @@
 +out:
 +	return err;
 +}
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_chipcommon.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_chipcommon.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,402 @@
 +/*
 + * Sonics Silicon Backplane
@@ -87971,8 +87918,8 @@
 +	return nr_ports;
 +}
 +#endif /* CONFIG_SSB_SERIAL */
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/Kconfig	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/Kconfig	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,93 @@
 +menu "Sonics Silicon Backplane"
 +
@@ -88067,8 +88014,8 @@
 +	  If unsure, say N
 +
 +endmenu
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/scan.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/scan.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,407 @@
 +/*
 + * Sonics Silicon Backplane
@@ -88477,8 +88424,8 @@
 +	ssb_iounmap(bus);
 +	goto out;
 +}
---- /dev/null	2007-07-11 10:53:53.353955061 -0400
-+++ linux-2.6.22.noarch/drivers/ssb/driver_pcicore.c	2007-07-11 12:00:55.000000000 -0400
+--- /dev/null	2007-07-17 08:12:38.343815931 -0400
++++ linux-2.6.22.noarch/drivers/ssb/driver_pcicore.c	2007-07-17 15:57:34.000000000 -0400
 @@ -0,0 +1,556 @@
 +/*
 + * Sonics Silicon Backplane


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3286
retrieving revision 1.3287
diff -u -r1.3286 -r1.3287
--- kernel-2.6.spec	17 Jul 2007 19:01:14 -0000	1.3286
+++ kernel-2.6.spec	17 Jul 2007 20:22:35 -0000	1.3287
@@ -579,6 +579,7 @@
 Patch680: git-wireless-dev.patch
 Patch681: git-iwlwifi.patch
 Patch682: linux-2.6-rtl8187.patch
+Patch683: linux-2.6-wireless.patch
 Patch690: linux-2.6-e1000-ich9.patch
 Patch710: linux-2.6-bcm43xx-pci-neuter.patch
 Patch711: linux-2.6-sky2-restore-workarounds.patch
@@ -1245,8 +1246,10 @@
 # add ID for sb700 to the pata driver
 ApplyPatch linux-2.6-libata_pata_atiixp_add_ati_sb700.patch
 
-# Add the rtl8187 driver from upstream (remove after update to 2.6.22-git1)
+# Add the rtl8187 driver from upstream
 ApplyPatch linux-2.6-rtl8187.patch
+# post-2.6.22 wireless patches from upstream
+ApplyPatch linux-2.6-wireless.patch
 # Add the new wireless stack and drivers from wireless-dev
 ApplyPatch git-wireless-dev.patch
 # Add iwlwifi from intellinuxwireless.org
@@ -2225,6 +2228,9 @@
 %endif
 
 %changelog
+* Tue Jul 17 2007 John W. Linville <linville at redhat.com>
+- update wireless bits
+
 * Tue Jul 17 2007 Chuck Ebbert <cebbert at redhat.com>
 - gfs2: update to the latest
 - sched: fix show_task()/show_tasks() output




More information about the scm-commits mailing list