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