rpms/kernel/F-8 linux-2.6-wireless-pending-fixups.patch, NONE, 1.1 kernel.spec, 1.358, 1.359 linux-2.6-at76.patch, 1.7, 1.8 linux-2.6-rndis_wlan.patch, 1.2, 1.3 linux-2.6-wireless-pending.patch, 1.28, 1.29 linux-2.6-wireless.patch, 1.25, 1.26

John W. Linville (linville) fedora-extras-commits at redhat.com
Thu Feb 28 03:19:13 UTC 2008


Author: linville

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

Modified Files:
	kernel.spec linux-2.6-at76.patch linux-2.6-rndis_wlan.patch 
	linux-2.6-wireless-pending.patch linux-2.6-wireless.patch 
Added Files:
	linux-2.6-wireless-pending-fixups.patch 
Log Message:
catch-up w/ recent wireless updates

linux-2.6-wireless-pending-fixups.patch:

--- NEW FILE linux-2.6-wireless-pending-fixups.patch ---
diff -up linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c.orig linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c
--- linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c.orig	2008-02-27 21:51:20.000000000 -0500
+++ linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c	2008-02-27 21:51:15.000000000 -0500
@@ -10349,7 +10349,9 @@ static int ipw_tx_skb(struct ipw_priv *p
 					 remaining_bytes,
 					 PCI_DMA_TODEVICE));
 
-			le32_add_cpu(&tfd->u.data.num_chunks, 1);
+			tfd->u.data.num_chunks =
+			    cpu_to_le32(le32_to_cpu(tfd->u.data.num_chunks) +
+					1);
 		}
 	}
 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.358
retrieving revision 1.359
diff -u -r1.358 -r1.359
--- kernel.spec	26 Feb 2008 14:12:46 -0000	1.358
+++ kernel.spec	28 Feb 2008 03:18:34 -0000	1.359
@@ -657,6 +657,7 @@
 
 Patch680: linux-2.6-wireless.patch
 Patch681: linux-2.6-wireless-pending.patch
+Patch682: linux-2.6-wireless-pending-fixups.patch
 Patch690: linux-2.6-at76.patch
 Patch691: linux-2.6-rndis_wlan.patch
 Patch700: linux-2.6-cfg80211-extras.patch
@@ -1235,6 +1236,7 @@
 ApplyPatch linux-2.6-wireless.patch
 # wireless patches staged for 2.6.26
 ApplyPatch linux-2.6-wireless-pending.patch
+ApplyPatch linux-2.6-wireless-pending-fixups.patch
 
 # Add misc wireless bits from upstream wireless tree
 ApplyPatch linux-2.6-at76.patch
@@ -1912,6 +1914,104 @@
 
 
 %changelog
+* Wed Feb 27 2008 John W. Linville <linville at redhat.com> 2.6.24.3-13
+- rt2x00: correct address calc for queue private data
+- mac80211: better definition of mactime
+- mac80211: move function ieee80211_sta_join_ibss()
+- mac80211: enable IBSS merging
+- p54: use IEEE 802.11e defaults for initialization
+- ipw2100/ipw2200: note firmware loading caveat in Kconfig help text
+- iwlwifi-2.6: Adds and fixes defines about security
+- rt2x00: Fix hw mode registration with mac80211.
+- rt2x00: Fix invalid DMA free
+- rt2x00: Make rt2x00 less verbose
+- rt2x00: Remove MGMT ring initialization
+- rt2x00: Select CONFIG_NEW_LEDS
+- rt2x00: make csr_cache and csr_addr an union
+- rt2x00: Fix scheduling while atomic errors in usb drivers
+- rt2x00: Add queue statistics to debugfs
+- rt2x00: Fix typo in debug statement
+- rt2x00: Fix skbdesc->data_len initialization
+- rt2x00: Fix queue->qid initialization
+- rt2x00: Cleanup Makefile
+- rt2x00: Kill guardian urb during disable_radio
+- rt2x00: Release rt2x00 2.1.1
+- rt2x00: Send frames out with configured TX power
+- rt2x00: Don't report driver generated frames to tx_status()
+- rt2x00: Filter ACK_CTS based on FIF_CONTROL
+- rt2x00: Fix Descriptor DMA initialization
+- rt2x00: Remove reset_tsf()
+- rt2x00: Rename dscape -> mac80211
+- rt2x00: Cleanup mode registration
+- rt2x00: Remove async vendor request calls from rt2x00usb
+- rt2x00: Fix MAC address defines in rt61pci
+- rt2x00: Release rt2x00 2.1.2
+- zd1211rw: Fixed incorrect constant name.
+- WDEV: ath5k, typecheck on nonDEBUG
+- mac80211: defer master netdev allocation to ieee80211_register_hw
+- mac80211: give burst time in txop rather than 0.1msec units
+- mac80211: fix ecw2cw brain-damage
+- rtl818x: fix RTS/CTS-less transmit
+- b43(legacy): include full timestamp in beacon frames
+- mac80211: convert sta_info.pspoll to a flag
+- mac80211: invoke set_tim() callback after setting own TIM info
+- mac80211: remove sta TIM flag, fix expiry TIM handling
+- mac80211: consolidate TIM handling code
+- adm8211: fix sparse warnings
+- p54: fix sparse warnings
+- ipw2200: le*_add_cpu conversion
+- prism54: Convert acl->sem in a mutex
+- prism54: Convert stats_sem in a mutex
+- prism54: Convert wpa_sem in a mutex
+- b43: Fix bandswitch
+- mac80211: Extend filter flag documentation about unsupported flags
+- b43: Add HostFlags HI support
+- zd1211rw: Fix beacon filter flags thinko
+- ssb: Add support for 8bit register access
+- mac80211: fix incorrect use of CONFIG_MAC80211_IBSS_DEBUG
+- wireless: rt2x00: fix driver menu indenting
+- iwlwifi: Update iwlwifi version stamp to 1.2.26
+- iwlwifi: fix name of function in comment (_rx_card_state_notif)
+- wireless: Convert to list_for_each_entry_rcu()
+- mac80211: adjustable number of bits for qdisc pool
+- iwlwifi: remove IWL{4965,3945}_QOS
+- net/mac80211/: Use time_* macros
+- drivers/net/wireless/atmel.c: Use time_* macros
+- b43legacy: add definitions for MAC control register
+- b43legacy: fix upload of beacon packets to the hardware
+- b43legacy: fix B43legacy_WARN_ON macro
+- iwlwifi: change iwl->priv iwl_priv * type in iwl-YYY-io.h
+- iwlwifi: Add tx_ant_num hw setting variable
+- iwlwifi: remove twice defined CSR register
+- wireless: update US regulatory domain
+- Use a separate config option for the b43 pci to ssb bridge.
+- Don't build bcm43xx if SSB is static and b43 PCI-SSB bridge is enabled.
+- Fix b43 driver build for arm
+- rt2x00: Fix antenna diversity
+- rt2x00: Add link tuner safe RX toggle states
+- rt2x00: Don't switch to antenna with low rssi
+- rt2x00: Fix rt2x00lib_reset_link_tuner()
+- rndis_wlan: fix sparse warnings
+- mac80211: fix kmalloc vs. net_ratelimit
+- libertas: Remove unused exports
+- at76_usb: Add at76_dbg_dump() macro
+- at76_usb: Convert DBG_TX levels to use at76_dbg_dump()
+- at76_usb: Add DBG_CMD for debugging firmware commands
+- at76_usb: add mac80211 support
+- at76_usb: Add support for monitor mode
+- at76_usb: Add support for WEP
+- at76_usb: Remove support the legacy stack
+- at76_usb: Use wiphy_name everywhere where needed
+- at76_usb: Allocate struct at76_priv using ieee80211_alloc_hw()
+- at76_usb: Prepare for struct net_device removal
+- at76_usb: Remove struct net_device
+- at76_usb: Use net/mac80211.h instead of net/ieee80211.h
+- at76_usb: fix missing newlines in printk, improve some messages
+- at76_usb: remove unneeded code
+- at76_usb: add more MODULE_AUTHOR entries
+- at76_usb: reindent, reorder initializers for readability
+- at76_usb: make the driver depend on MAC80211
+
 * Tue Feb 26 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.24.3-12
 - Linux 2.6.24.3
 

linux-2.6-at76.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.7 -r 1.8 linux-2.6-at76.patch
Index: linux-2.6-at76.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-at76.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-at76.patch	15 Feb 2008 23:58:52 -0000	1.7
+++ linux-2.6-at76.patch	28 Feb 2008 03:18:34 -0000	1.8
@@ -1,3 +1,190 @@
+commit e141a848e24724c2d5534ff8152b0be4fe1b6f62
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri Feb 22 00:01:07 2008 -0500
+
+    at76_usb: make the driver depend on MAC80211
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4891e7cb744d9e00dfe714c2827abcd32a02e405
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri Feb 22 00:01:01 2008 -0500
+
+    at76_usb: reindent, reorder initializers for readability
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a5d909eecd7c57843395780d7bc3e9655093bd5e
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri Feb 22 00:00:55 2008 -0500
+
+    at76_usb: add more MODULE_AUTHOR entries
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e5d8694e15d0f20a5a3999ca6697278df9a66ca7
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri Feb 22 00:00:50 2008 -0500
+
+    at76_usb: remove unneeded code
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 781e1500cd246b9aeaa0fc7593f028d43c87dbc0
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Fri Feb 22 00:00:44 2008 -0500
+
+    at76_usb: fix missing newlines in printk, improve some messages
+    
+    It's important to know which function failed.
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4083ec919a7353cf7a9de6cf42aa13669b7e018e
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:01:19 2008 +0200
+
+    at76_usb: Remove struct net_device
+    
+    This patch contains only code removal, no code has been modified.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bae74e67b58fc0ecf930fc1b5f485d536b1eea5a
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:01:11 2008 +0200
+
+    at76_usb: Prepare for struct net_device removal
+    
+    Some cleanup to make it easier to remove the struct net_device.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e31a31b44489b3535fcf7b02871458186ed43aa7
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:01:04 2008 +0200
+
+    at76_usb: Allocate struct at76_priv using ieee80211_alloc_hw()
+    
+    This is for the preparation to remove struct net_device.
+    
+    Also netdev is not registered anymore so the legacy stack does not have
+    visible interface anymore.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 162d3ad6b55220940216d35dc1418e0c0ef9b98e
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:56 2008 +0200
+
+    at76_usb: Use wiphy_name everywhere where needed
+    
+    This is for the preparation to remove struct net_device.
+    
+    Functions used by the legacy stack were not converted, because they will
+    removed anyway.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 779e36d16d4b79f30207da5d41d8cda9151f8e1f
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:49 2008 +0200
+
+    at76_usb: Remove support the legacy stack
+    
+    Now the mac80211 interface will only work, the interface using the legacy
+    stack will be defunct. The legacy interface will removed in following
+    patches.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0e5a456201237a135d5970b755ade55c18565033
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:41 2008 +0200
+
+    at76_usb: Add support for WEP
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 88ba88d527a925f0b0a5162e64e026e33312648e
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:34 2008 +0200
+
+    at76_usb: Add support for monitor mode
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 798f4f8d71f221f0e74dbd1588ab6225c64efc45
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:26 2008 +0200
+
+    at76_usb: add mac80211 support
+    
+    This patch creates the basic facilities for using mac80211 while keeping
+    the old legacy stack alone. This add only adds new code, no old code is
+    changed. Both the legacy and mac80211 interfaces are created to make the
+    transition easier. The legacy interface will be removed with following
+    patches.
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ee5141d10332561306a48b216a1ae1ddfe318805
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:19 2008 +0200
+
+    at76_usb: Add DBG_CMD for debugging firmware commands
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2009705e36ad0b50f0cdb0f9ef186f33057d17e8
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:11 2008 +0200
+
+    at76_usb: Convert DBG_TX levels to use at76_dbg_dump()
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bd80e67cdc3286868f59cf809b63c5c021392fbd
+Author: Kalle Valo <kalle.valo at iki.fi>
+Date:   Sun Feb 10 17:00:04 2008 +0200
+
+    at76_usb: Add at76_dbg_dump() macro
+    
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit c53a0aa28992ba7f212effec5e29be990848b54f
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Sun Feb 10 16:59:56 2008 +0200
+
+    at76_usb: Use net/mac80211.h instead of net/ieee80211.h
+    
+    Rename symbols as required.  Use IEEE80211_MAX_FRAG_THRESHOLD as the
+    maximal packet size, which takes slightly more memory, but should be
+    safer.
+    
+    Copy some frame definitions from net/ieee80211.h to at76_usb.h.  It's
+    done temporarily until mac80211 conversion is complete.
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: Kalle Valo <kalle.valo at iki.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit 38ec6fbd236318179e28c71bc1b3dc94166e4be2
 Author: Pavel Roskin <proski at gnu.org>
 Date:   Mon Feb 4 00:05:19 2008 -0500
@@ -706,9 +893,9 @@
[...5327 lines suppressed...]
++static struct ieee80211_rate at76_rates[] = {
++	{ .bitrate = 10, .hw_value = TX_RATE_1MBIT, },
++	{ .bitrate = 20, .hw_value = TX_RATE_2MBIT, },
++	{ .bitrate = 55, .hw_value = TX_RATE_5_5MBIT, },
++	{ .bitrate = 110, .hw_value = TX_RATE_11MBIT, },
++};
++
++static struct ieee80211_channel at76_channels[] = {
++	{ .center_freq = 2412, .hw_value = 1 },
++	{ .center_freq = 2417, .hw_value = 2 },
++	{ .center_freq = 2422, .hw_value = 3 },
++	{ .center_freq = 2427, .hw_value = 4 },
++	{ .center_freq = 2432, .hw_value = 5 },
++	{ .center_freq = 2437, .hw_value = 6 },
++	{ .center_freq = 2442, .hw_value = 7 },
++	{ .center_freq = 2447, .hw_value = 8 },
++	{ .center_freq = 2452, .hw_value = 9 },
++	{ .center_freq = 2457, .hw_value = 10 },
++	{ .center_freq = 2462, .hw_value = 11 },
++	{ .center_freq = 2467, .hw_value = 12 },
++	{ .center_freq = 2472, .hw_value = 13 },
++	{ .center_freq = 2484, .hw_value = 14 }
++};
++
++static struct ieee80211_supported_band at76_supported_band = {
++	.channels = at76_channels,
++	.n_channels = ARRAY_SIZE(at76_channels),
++	.bitrates = at76_rates,
++	.n_bitrates = ARRAY_SIZE(at76_rates),
++};
++
 +/* Register network device and initialize the hardware */
 +static int at76_init_new_device(struct at76_priv *priv,
 +				struct usb_interface *interface)
 +{
-+	struct net_device *netdev = priv->netdev;
 +	int ret;
 +
 +	/* set up the endpoint information */
@@ -6633,8 +3654,6 @@
 +	}
 +
 +	priv->domain = at76_get_reg_domain(priv->regulatory_domain);
-+	/* init. netdev->dev_addr */
-+	memcpy(netdev->dev_addr, priv->mac_addr, ETH_ALEN);
 +
 +	priv->channel = DEF_CHANNEL;
 +	priv->iw_mode = IW_MODE_INFRA;
@@ -6644,63 +3663,49 @@
 +	priv->txrate = TX_RATE_AUTO;
 +	priv->preamble_type = PREAMBLE_TYPE_LONG;
 +	priv->beacon_period = 100;
-+	priv->beacons_last_qual = jiffies;
 +	priv->auth_mode = WLAN_AUTH_OPEN;
 +	priv->scan_min_time = DEF_SCAN_MIN_TIME;
 +	priv->scan_max_time = DEF_SCAN_MAX_TIME;
 +	priv->scan_mode = SCAN_TYPE_ACTIVE;
 +
-+	netdev->flags &= ~IFF_MULTICAST;	/* not yet or never */
-+	netdev->open = at76_open;
-+	netdev->stop = at76_stop;
-+	netdev->get_stats = at76_get_stats;
-+	netdev->ethtool_ops = &at76_ethtool_ops;
-+
-+	/* Add pointers to enable iwspy support. */
-+	priv->wireless_data.spy_data = &priv->spy_data;
-+	netdev->wireless_data = &priv->wireless_data;
-+
-+	netdev->hard_start_xmit = at76_tx;
-+	netdev->tx_timeout = at76_tx_timeout;
-+	netdev->watchdog_timeo = 2 * HZ;
-+	netdev->wireless_handlers = &at76_handler_def;
-+	netdev->set_multicast_list = at76_set_multicast;
-+	netdev->set_mac_address = at76_set_mac_address;
-+	dev_alloc_name(netdev, "wlan%d");
++	/* mac80211 initialisation */
++	priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &at76_supported_band;
++	priv->hw->flags = IEEE80211_HW_RX_INCLUDES_FCS;
 +
-+	ret = register_netdev(priv->netdev);
++	SET_IEEE80211_DEV(priv->hw, &interface->dev);
++	SET_IEEE80211_PERM_ADDR(priv->hw, priv->mac_addr);
++
++	ret = ieee80211_register_hw(priv->hw);
 +	if (ret) {
-+		dev_printk(KERN_ERR, &interface->dev,
-+			   "cannot register netdevice (status %d)!\n", ret);
++		printk(KERN_ERR "cannot register mac80211 hw (status %d)!\n",
++		       ret);
 +		goto exit;
 +	}
-+	priv->netdev_registered = 1;
++
++	priv->mac80211_registered = 1;
 +
 +	printk(KERN_INFO "%s: USB %s, MAC %s, firmware %d.%d.%d-%d\n",
-+	       netdev->name, interface->dev.bus_id, mac2str(priv->mac_addr),
++	       wiphy_name(priv->hw->wiphy),
++	       interface->dev.bus_id, mac2str(priv->mac_addr),
 +	       priv->fw_version.major, priv->fw_version.minor,
 +	       priv->fw_version.patch, priv->fw_version.build);
-+	printk(KERN_INFO "%s: regulatory domain 0x%02x: %s\n", netdev->name,
++	printk(KERN_INFO "%s: regulatory domain 0x%02x: %s\n",
++	       wiphy_name(priv->hw->wiphy),
 +	       priv->regulatory_domain, priv->domain->name);
 +
-+	/* we let this timer run the whole time this driver instance lives */
-+	mod_timer(&priv->bss_list_timer, jiffies + BSS_LIST_TIMEOUT);
-+
 +exit:
 +	return ret;
 +}
 +
 +static void at76_delete_device(struct at76_priv *priv)
 +{
-+	int i;
-+
 +	at76_dbg(DBG_PROC_ENTRY, "%s: ENTER", __func__);
 +
 +	/* The device is gone, don't bother turning it off */
 +	priv->device_unplugged = 1;
 +
-+	if (priv->netdev_registered)
-+		unregister_netdev(priv->netdev);
++	if (priv->mac80211_registered)
++		ieee80211_unregister_hw(priv->hw);
 +
 +	/* assuming we used keventd, it must quiesce too */
 +	flush_scheduled_work();
@@ -6721,25 +3726,11 @@
 +	if (priv->rx_skb)
 +		kfree_skb(priv->rx_skb);
 +
-+	at76_free_bss_list(priv);
-+	del_timer_sync(&priv->bss_list_timer);
-+	cancel_delayed_work(&priv->dwork_get_scan);
-+	cancel_delayed_work(&priv->dwork_beacon);
-+	cancel_delayed_work(&priv->dwork_auth);
-+	cancel_delayed_work(&priv->dwork_assoc);
-+
-+	if (priv->mac_state == MAC_CONNECTED)
-+		at76_iwevent_bss_disconnect(priv->netdev);
-+
-+	for (i = 0; i < NR_RX_DATA_BUF; i++)
-+		if (priv->rx_data[i].skb) {
-+			dev_kfree_skb(priv->rx_data[i].skb);
-+			priv->rx_data[i].skb = NULL;
-+		}
 +	usb_put_dev(priv->udev);
 +
-+	at76_dbg(DBG_PROC_ENTRY, "%s: before freeing priv/netdev", __func__);
-+	free_netdev(priv->netdev);	/* priv is in netdev */
++	at76_dbg(DBG_PROC_ENTRY, "%s: before freeing priv/ieee80211_hw",
++		 __func__);
++	ieee80211_free_hw(priv->hw);
 +
 +	at76_dbg(DBG_PROC_ENTRY, "%s: EXIT", __func__);
 +}
@@ -6835,7 +3826,6 @@
 +		goto error;
 +	}
 +
-+	SET_NETDEV_DEV(priv->netdev, &interface->dev);
 +	usb_set_intfdata(interface, priv);
 +
 +	memcpy(&priv->fw_version, &fwv, sizeof(struct mib_fw_version));
@@ -6863,7 +3853,7 @@
 +	if (!priv)
 +		return;
 +
-+	printk(KERN_INFO "%s: disconnecting\n", priv->netdev->name);
++	printk(KERN_INFO "%s: disconnecting\n", wiphy_name(priv->hw->wiphy));
 +	at76_delete_device(priv);
 +	dev_printk(KERN_INFO, &interface->dev, "disconnected\n");
 +}
@@ -6919,18 +3909,20 @@
 +MODULE_AUTHOR("Nick Jones");
 +MODULE_AUTHOR("Balint Seeber <n0_5p4m_p13453 at hotmail.com>");
 +MODULE_AUTHOR("Pavel Roskin <proski at gnu.org>");
++MODULE_AUTHOR("Guido Guenther <agx at sigxcpu.org>");
++MODULE_AUTHOR("Kalle Valo <kalle.valo at iki.fi>");
 +MODULE_DESCRIPTION(DRIVER_DESC);
 +MODULE_LICENSE("GPL");
 diff -up linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig	2008-02-05 22:45:16.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig	2008-02-05 22:46:17.000000000 -0500
-@@ -451,6 +451,14 @@ config PCMCIA_ATMEL
+--- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig	2008-02-27 20:56:07.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig	2008-02-27 20:56:23.000000000 -0500
+@@ -457,6 +457,14 @@ config PCMCIA_ATMEL
  	  Enable support for PCMCIA cards containing the
  	  Atmel at76c502 and at76c504 chips.
  
 +config USB_ATMEL
 +	tristate "Atmel at76c503/at76c505/at76c505a USB cards"
-+	depends on WLAN_80211 && USB
++	depends on MAC80211 && WLAN_80211 && USB
 +	select FW_LOADER
 +	---help---
 +	  Enable support for USB Wireless devices using Atmel at76c503,

linux-2.6-rndis_wlan.patch:

Index: linux-2.6-rndis_wlan.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-rndis_wlan.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-rndis_wlan.patch	18 Feb 2008 21:31:42 -0000	1.2
+++ linux-2.6-rndis_wlan.patch	28 Feb 2008 03:18:34 -0000	1.3
@@ -1,3 +1,16 @@
+commit 04d0a24457e249388ec3ee32b345617d1bc6ebf2
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 11:47:45 2008 +0100
+
+    rndis_wlan: fix sparse warnings
+    
+    It is obviously wrong to use an enum in a little endian struct,
+    and those other enums should be declared differently.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Acked-by: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit f550df968462c7b529c79f50655db564f7b89bfa
 Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
 Date:   Wed Feb 6 15:36:10 2008 +0200
@@ -230,8 +243,8 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
 
 diff -up /dev/null linux-2.6.24.noarch/include/linux/usb/usbnet.h
---- /dev/null	2008-02-18 08:38:44.839864553 -0500
-+++ linux-2.6.24.noarch/include/linux/usb/usbnet.h	2008-02-18 15:43:11.000000000 -0500
+--- /dev/null	2008-02-27 08:31:30.805858387 -0500
++++ linux-2.6.24.noarch/include/linux/usb/usbnet.h	2008-02-27 21:23:51.000000000 -0500
 @@ -0,0 +1,214 @@
 +/*
 + * USB Networking Link Interface
@@ -448,8 +461,8 @@
 +
 +#endif	/* __USBNET_H */
 diff -up /dev/null linux-2.6.24.noarch/include/linux/usb/rndis_host.h
---- /dev/null	2008-02-18 08:38:44.839864553 -0500
-+++ linux-2.6.24.noarch/include/linux/usb/rndis_host.h	2008-02-18 15:43:11.000000000 -0500
+--- /dev/null	2008-02-27 08:31:30.805858387 -0500
++++ linux-2.6.24.noarch/include/linux/usb/rndis_host.h	2008-02-27 21:23:51.000000000 -0500
 @@ -0,0 +1,274 @@
 +/*
 + * Host Side support for RNDIS Networking Links
@@ -726,8 +739,8 @@
 +#endif	/* __RNDIS_HOST_H */
 +
 diff -up linux-2.6.24.noarch/MAINTAINERS.orig linux-2.6.24.noarch/MAINTAINERS
---- linux-2.6.24.noarch/MAINTAINERS.orig	2008-02-18 15:41:25.000000000 -0500
-+++ linux-2.6.24.noarch/MAINTAINERS	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/MAINTAINERS.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/MAINTAINERS	2008-02-27 21:23:51.000000000 -0500
 @@ -4067,6 +4067,12 @@ L:	video4linux-list at redhat.com
  W:	http://www.linux-projects.org
  S:	Maintained
@@ -742,8 +755,8 @@
  P:	Luca Risolia
  M:	luca.risolia at studio.unibo.it
 diff -up linux-2.6.24.noarch/drivers/net/usb/rndis_host.c.orig linux-2.6.24.noarch/drivers/net/usb/rndis_host.c
---- linux-2.6.24.noarch/drivers/net/usb/rndis_host.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/rndis_host.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/rndis_host.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/rndis_host.c	2008-02-27 21:23:51.000000000 -0500
 @@ -29,8 +29,8 @@
  #include <linux/mii.h>
  #include <linux/usb.h>
@@ -1184,8 +1197,8 @@
  
  static const struct driver_info	rndis_info = {
 diff -up linux-2.6.24.noarch/drivers/net/usb/usbnet.c.orig linux-2.6.24.noarch/drivers/net/usb/usbnet.c
---- linux-2.6.24.noarch/drivers/net/usb/usbnet.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/usbnet.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/usbnet.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/usbnet.c	2008-02-27 21:23:51.000000000 -0500
 @@ -41,8 +41,7 @@
  #include <linux/workqueue.h>
  #include <linux/mii.h>
@@ -1207,8 +1220,8 @@
  		/* maybe the remote can't receive an Ethernet MTU */
  		if (net->mtu > (dev->hard_mtu - net->hard_header_len))
 diff -up linux-2.6.24.noarch/drivers/net/usb/plusb.c.orig linux-2.6.24.noarch/drivers/net/usb/plusb.c
---- linux-2.6.24.noarch/drivers/net/usb/plusb.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/plusb.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/plusb.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/plusb.c	2008-02-27 21:23:51.000000000 -0500
 @@ -28,8 +28,7 @@
  #include <linux/workqueue.h>
  #include <linux/mii.h>
@@ -1220,8 +1233,8 @@
  
  /*
 diff -up linux-2.6.24.noarch/drivers/net/usb/gl620a.c.orig linux-2.6.24.noarch/drivers/net/usb/gl620a.c
---- linux-2.6.24.noarch/drivers/net/usb/gl620a.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/gl620a.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/gl620a.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/gl620a.c	2008-02-27 21:23:51.000000000 -0500
 @@ -29,8 +29,7 @@
  #include <linux/workqueue.h>
  #include <linux/mii.h>
@@ -1233,8 +1246,8 @@
  
  /*
 diff -up linux-2.6.24.noarch/drivers/net/usb/usbnet.h.orig linux-2.6.24.noarch/drivers/net/usb/usbnet.h
---- linux-2.6.24.noarch/drivers/net/usb/usbnet.h.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/usbnet.h	2008-02-18 15:46:05.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/usbnet.h.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/usbnet.h	2008-02-27 21:23:51.000000000 -0500
 @@ -1,202 +0,0 @@
 -/*
 - * USB Networking Link Interface
@@ -1439,8 +1452,8 @@
 -
 -#endif	/* __USBNET_H */
 diff -up linux-2.6.24.noarch/drivers/net/usb/zaurus.c.orig linux-2.6.24.noarch/drivers/net/usb/zaurus.c
---- linux-2.6.24.noarch/drivers/net/usb/zaurus.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/zaurus.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/zaurus.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/zaurus.c	2008-02-27 21:23:51.000000000 -0500
 @@ -29,8 +29,7 @@
  #include <linux/crc32.h>
  #include <linux/usb.h>
@@ -1452,8 +1465,8 @@
  
  /*
 diff -up linux-2.6.24.noarch/drivers/net/usb/net1080.c.orig linux-2.6.24.noarch/drivers/net/usb/net1080.c
---- linux-2.6.24.noarch/drivers/net/usb/net1080.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/net1080.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/net1080.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/net1080.c	2008-02-27 21:23:51.000000000 -0500
 @@ -28,11 +28,10 @@
  #include <linux/workqueue.h>
  #include <linux/mii.h>
@@ -1468,8 +1481,8 @@
  /*
   * Netchip 1080 driver ... http://www.netchip.com
 diff -up linux-2.6.24.noarch/drivers/net/usb/asix.c.orig linux-2.6.24.noarch/drivers/net/usb/asix.c
---- linux-2.6.24.noarch/drivers/net/usb/asix.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/asix.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/asix.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/asix.c	2008-02-27 21:23:51.000000000 -0500
 @@ -33,8 +33,7 @@
  #include <linux/mii.h>
  #include <linux/usb.h>
@@ -1481,8 +1494,8 @@
  #define DRIVER_VERSION "14-Jun-2006"
  static const char driver_name [] = "asix";
 diff -up linux-2.6.24.noarch/drivers/net/usb/mcs7830.c.orig linux-2.6.24.noarch/drivers/net/usb/mcs7830.c
---- linux-2.6.24.noarch/drivers/net/usb/mcs7830.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/mcs7830.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/mcs7830.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/mcs7830.c	2008-02-27 21:23:51.000000000 -0500
 @@ -31,8 +31,7 @@
  #include <linux/module.h>
  #include <linux/netdevice.h>
@@ -1494,8 +1507,8 @@
  /* requests */
  #define MCS7830_RD_BMREQ	(USB_DIR_IN  | USB_TYPE_VENDOR | \
 diff -up linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c.orig linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c
---- linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/cdc_subset.c	2008-02-27 21:23:51.000000000 -0500
 @@ -26,8 +26,7 @@
  #include <linux/workqueue.h>
  #include <linux/mii.h>
@@ -1507,8 +1520,8 @@
  
  /*
 diff -up linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c.orig linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c
---- linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/cdc_ether.c	2008-02-27 21:23:51.000000000 -0500
 @@ -31,8 +31,7 @@
  #include <linux/mii.h>
  #include <linux/usb.h>
@@ -1549,8 +1562,8 @@
   *
   * Communications Device Class, Ethernet Control model
 diff -up linux-2.6.24.noarch/drivers/net/usb/dm9601.c.orig linux-2.6.24.noarch/drivers/net/usb/dm9601.c
---- linux-2.6.24.noarch/drivers/net/usb/dm9601.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/usb/dm9601.c	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/usb/dm9601.c.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/usb/dm9601.c	2008-02-27 21:23:51.000000000 -0500
 @@ -20,8 +20,7 @@
  #include <linux/mii.h>
  #include <linux/usb.h>
@@ -1562,8 +1575,8 @@
  /* datasheet:
   http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9601-DS-P01-930914.pdf
 diff -up linux-2.6.24.noarch/drivers/net/wireless/Makefile.orig linux-2.6.24.noarch/drivers/net/wireless/Makefile
---- linux-2.6.24.noarch/drivers/net/wireless/Makefile.orig	2008-02-18 15:41:25.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/Makefile	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/Makefile.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/Makefile	2008-02-27 21:23:51.000000000 -0500
 @@ -46,6 +46,8 @@ obj-$(CONFIG_ZD1211RW)		+= zd1211rw/
  obj-$(CONFIG_PCMCIA_RAYCS)	+= ray_cs.o
  obj-$(CONFIG_PCMCIA_WL3501)	+= wl3501_cs.o
@@ -1574,8 +1587,8 @@
  obj-$(CONFIG_LIBERTAS)		+= libertas/
  
 diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c
---- /dev/null	2008-02-18 08:38:44.839864553 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c	2008-02-18 15:45:35.000000000 -0500
+--- /dev/null	2008-02-27 08:31:30.805858387 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c	2008-02-27 21:24:21.000000000 -0500
 @@ -0,0 +1,2753 @@
 +/*
 + * Driver for RNDIS based wireless USB devices.
@@ -1807,9 +1820,9 @@
 +	struct NDIS_802_11_SSID Ssid;
 +	__le32 Privacy;
 +	__le32 Rssi;
-+	enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
++	__le32 NetworkTypeInUse;
 +	struct NDIS_802_11_CONFIGURATION Configuration;
-+	enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
++	__le32 InfrastructureMode;
 +	u8 SupportedRates[NDIS_802_11_LENGTH_RATES_EX];
 +	__le32 IELength;
 +	u8 IEs[0];
@@ -1858,11 +1871,11 @@
 +} __attribute__((packed));
 +
 +/* these have to match what is in wpa_supplicant */
-+enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
-+enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP, CIPHER_WEP104 }
-+	wpa_cipher;
-+enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE, KEY_MGMT_802_1X_NO_WPA,
-+	KEY_MGMT_WPA_NONE } wpa_key_mgmt;
++enum wpa_alg { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP };
++enum wpa_cipher { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
++		  CIPHER_WEP104 };
++enum wpa_key_mgmt { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE,
++		    KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE };
 +
 +/*
 + *  private data
@@ -4331,8 +4344,8 @@
 +MODULE_LICENSE("GPL");
 +
 diff -up linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig	2008-02-18 15:41:25.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig	2008-02-18 15:43:11.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig	2008-02-27 21:23:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig	2008-02-27 21:23:51.000000000 -0500
 @@ -553,6 +553,34 @@ config USB_ZD1201
  	  To compile this driver as a module, choose M here: the
  	  module will be called zd1201.

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.28 -r 1.29 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.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- linux-2.6-wireless-pending.patch	21 Feb 2008 19:11:27 -0000	1.28
+++ linux-2.6-wireless-pending.patch	28 Feb 2008 03:18:34 -0000	1.29
@@ -1,3 +1,1005 @@
+commit cfced8184e83694383a6bedddb6530f298f3855f
+Author: Pavel Roskin <proski at gnu.org>
+Date:   Thu Feb 21 11:33:58 2008 -0500
+
+    mac80211: fix incorrect use of CONFIG_MAC80211_IBSS_DEBUG
+    
+    Configuration variables are only available to the preprocessor
+    
+    Signed-off-by: Pavel Roskin <proski at gnu.org>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4d161f9d7f3f3ce069006b53dc8a84ed8a33753f
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 12:08:12 2008 +0100
+
+    p54: fix sparse warnings
+    
+    This fixes a few sparse warnings in p54.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ee96158b0d6cb34b5ba323c18e6fcac037bab444
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 12:06:47 2008 +0100
+
+    adm8211: fix sparse warnings
+    
+    Both of these seem to be actual errors, the first is just wrong
+    and the second is my mistake introduced by the cfg80211 API
+    update.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 23eb3936312dc16697aa68870b912f4504711e3c
+Author: Michael Buesch <mb at bu3sch.de>
+Date:   Wed Feb 20 19:08:10 2008 +0100
+
+    ssb: Add support for 8bit register access
+    
+    This adds support for 8bit wide register reads/writes.
+    This is needed in order to support the gigabit ethernet core.
+    
+    Signed-off-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 30e8c404283a93915979f9d48f770729ac5612d8
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 11:21:35 2008 +0100
+
+    mac80211: consolidate TIM handling code
+    
+    This consolidates all TIM handling code to avoid re-introducing
+    errors with the bitmap/set_tim order and to reduce code. While
+    reading the code I noticed a possible problem so I also added
+    a comment about that.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 093cbe59df31971739f313f8ac7ea92dae6a9a53
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 02:07:21 2008 +0100
+
+    mac80211: remove sta TIM flag, fix expiry TIM handling
+    
+    The TIM flag that is kept in each station's info is completely
+    useless, there's no code (aside from the debugfs display code)
+    checking it, hence it can be removed. While doing that, I noticed
+    that the TIM handling is broken when buffered frames expire, so
+    fix that.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit bb947b28e1822acf74e24544c6a38e1c5360bda1
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 01:36:16 2008 +0100
+
+    mac80211: invoke set_tim() callback after setting own TIM info
+    
+    Drivers should be allowed to simply get a complete new beacon when
+    set_tim() is invoked (and set_tim() is required for drivers that
+    just want a beacon template!), so we need to update our own TIM
+    bitmap before calling set_tim() so that getting the beacon will
+    now get an already updated beacon.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 28606c369e2f5d072ff7abd87ded79c5e533d10f
+Author: Roel Kluin <12o3l at tiscali.nl>
+Date:   Tue Feb 19 15:41:50 2008 +0100
+
+    wireless: Convert to list_for_each_entry_rcu()
+    
+    Convert list_for_each_rcu() to list_for_each_entry_rcu()
+    
+    Signed-off-by: Roel Kluin <12o3l at tiscali.nl>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d10d5dd1d429e57c44697665391dd802c8c31875
+Author: Tomas Winkler <tomas.winkler at intel.com>
+Date:   Wed Feb 13 20:58:34 2008 +0200
+
+    wireless: update US regulatory domain
+    
+    This patch adds channels to US regulatory domain
+    
+    Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 96efd302ca3ff1f822283ead88ebccef793f3cdd
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 17 17:36:49 2008 +0100
+
+    rt2x00: Release rt2x00 2.1.2
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit fbc3fc7010f952e7892ba7283b845defd0d31df7
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 17 17:36:33 2008 +0100
+
+    rt2x00: Fix MAC address defines in rt61pci
+    
+    The MAC address offset defines were incorrect because
+    the byte offset was used instead of word index. This
+    bug had no affect on normal operations since these
+    defines weren't used. (EEPROM_MAC_ADDR_0 was used
+    to read 6 bytes from).
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4fe0a1930dbab7d7c5ab930f34f183a815dccaa4
+Author: Gertjan van Wingerde <gwingerde at kpnplanet.nl>
+Date:   Sun Feb 17 17:35:55 2008 +0100
+
+    rt2x00: Fix hw mode registration with mac80211.
+    
+    The supported_bands field of struct hw_mode_spec now represents a bitfield,
+    so bitfield operators need to be tested with when setting the band data.
+    
+    The current code generates the following warning:
+    
+    [176624.986244] WARNING: at /usr/local/src/incoming/compat-wireless-2.6/net/wireless/core.c:269 wiphy_register()
+    [176624.986249] Pid: 12548, comm: modprobe Tainted: P        2.6.24.2#4
+    [176624.986251]
+    [176624.986251] Call Trace:
+    [176624.986277]  [<ffffffff881c56bf>] :cfg80211:wiphy_register+0x17f/0x1a0
+    [176624.986282]  [<ffffffff881ddf80>] :rt61pci:rt61pci_eepromregister_write+0x0/0x80
+    [176624.986302]  [<ffffffff88b7e4bc>] :mac80211:ieee80211_register_hw+0x2c/0x2b0
+    [176624.986310]  [<ffffffff881cdc80>] :rt2x00lib:rt2x00lib_probe_dev+0x350/0x3f0
+    [176624.986318]  [<ffffffff881d74b9>] :rt2x00pci:rt2x00pci_probe+0x149/0x200
+    [176624.986325]  [<ffffffff8030c858>] pci_device_probe+0xf8/0x170
+    [176624.986331]  [<ffffffff803594fc>] driver_probe_device+0x9c/0x1c0
+    [176624.986335]  [<ffffffff80359700>] __driver_attach+0x0/0xb0
+    [176624.986337]  [<ffffffff803597a5>] __driver_attach+0xa5/0xb0
+    [176624.986341]  [<ffffffff8035877d>] bus_for_each_dev+0x4d/0x80
+    [176624.986347]  [<ffffffff80358b8c>] bus_add_driver+0xac/0x210
+    [176624.986351]  [<ffffffff8030cad3>] __pci_register_driver+0x73/0xc0
+    [176624.986357]  [<ffffffff8025689e>] sys_init_module+0x18e/0x1a20
+    [176624.986374]  [<ffffffff8020c42e>] system_call+0x7e/0x83
+    
+    Signed-off-by: Gertjan van Wingerde <gwingerde at kpnplanet.nl>
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 980a45192e965e135ab1e6b71f665a52dd8ab35e
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 17 17:35:28 2008 +0100
+
+    rt2x00: Remove async vendor request calls from rt2x00usb
+    
+    The async vendor requests are a ugly hack which is not working correctly.
+    The proper fix for the scheduling while atomic issue is finding out why
+    we can't use led classes for USB drivers and fix that.
+    
+    Just replace all async calls with the regular ones and print an
+    error for the disallowed LED configuration attempts. That will
+    help in determining which led class is causing the problem.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit a3279e1ee5fa78bceb8d1ae27497f0ab6b1b805b
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Sun Feb 17 17:35:05 2008 +0100
[...13378 lines suppressed...]
  
-@@ -1680,10 +1704,10 @@ static int adm8211_tx(struct ieee80211_h
+@@ -1678,13 +1702,9 @@ static int adm8211_tx(struct ieee80211_h
+ 	int plcp, dur, len, plcp_signal, short_preamble;
+ 	struct ieee80211_hdr *hdr;
  
- 	if (control->tx_rate < 0) {
- 		short_preamble = 1;
+-	if (control->tx_rate < 0) {
+-		short_preamble = 1;
 -		plcp_signal = -control->tx_rate;
-+		plcp_signal = -control->tx_rate->bitrate;
- 	} else {
- 		short_preamble = 0;
+-	} else {
+-		short_preamble = 0;
 -		plcp_signal = control->tx_rate;
-+		plcp_signal = control->tx_rate->bitrate;
- 	}
+-	}
++	short_preamble = !!(control->tx_rate->flags &
++					IEEE80211_TXCTL_SHORT_PREAMBLE);
++	plcp_signal = control->tx_rate->bitrate;
  
  	hdr = (struct ieee80211_hdr *)skb->data;
-@@ -1880,18 +1904,11 @@ static int __devinit adm8211_probe(struc
+ 	fc = le16_to_cpu(hdr->frame_control) & ~IEEE80211_FCTL_PROTECTED;
+@@ -1880,18 +1900,11 @@ static int __devinit adm8211_probe(struc
  	SET_IEEE80211_PERM_ADDR(dev, perm_addr);
  
  	dev->extra_tx_headroom = sizeof(struct adm8211_tx_hdr);
@@ -28152,7 +33066,7 @@
  	dev->queues = 1; /* ADM8211C supports more, maybe ADM8211B too */
  
  	priv->retry_limit = 3;
-@@ -1917,14 +1934,7 @@ static int __devinit adm8211_probe(struc
+@@ -1917,14 +1930,7 @@ static int __devinit adm8211_probe(struc
  		goto err_free_desc;
  	}
  
@@ -28168,3 +33082,159 @@
  
  	err = ieee80211_register_hw(dev);
  	if (err) {
+diff -up linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.24.noarch/drivers/ssb/pcmcia.c
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-02-21 13:44:10.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-02-21 14:05:08.000000000 -0500
+@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
+ 	return 0;
+ }
+ 
++static u8 ssb_pcmcia_read8(struct ssb_device *dev, u16 offset)
++{
++	struct ssb_bus *bus = dev->bus;
++	unsigned long flags;
++	int err;
++	u8 value = 0xFF;
++
++	spin_lock_irqsave(&bus->bar_lock, flags);
++	err = select_core_and_segment(dev, &offset);
++	if (likely(!err))
++		value = readb(bus->mmio + offset);
++	spin_unlock_irqrestore(&bus->bar_lock, flags);
++
++	return value;
++}
++
+ static u16 ssb_pcmcia_read16(struct ssb_device *dev, u16 offset)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -206,6 +222,20 @@ static u32 ssb_pcmcia_read32(struct ssb_
+ 	return (lo | (hi << 16));
+ }
+ 
++static void ssb_pcmcia_write8(struct ssb_device *dev, u16 offset, u8 value)
++{
++	struct ssb_bus *bus = dev->bus;
++	unsigned long flags;
++	int err;
++
++	spin_lock_irqsave(&bus->bar_lock, flags);
++	err = select_core_and_segment(dev, &offset);
++	if (likely(!err))
++		writeb(value, bus->mmio + offset);
++	mmiowb();
++	spin_unlock_irqrestore(&bus->bar_lock, flags);
++}
++
+ static void ssb_pcmcia_write16(struct ssb_device *dev, u16 offset, u16 value)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -238,8 +268,10 @@ static void ssb_pcmcia_write32(struct ss
+ 
+ /* Not "static", as it's used in main.c */
+ const struct ssb_bus_ops ssb_pcmcia_ops = {
++	.read8		= ssb_pcmcia_read8,
+ 	.read16		= ssb_pcmcia_read16,
+ 	.read32		= ssb_pcmcia_read32,
++	.write8		= ssb_pcmcia_write8,
+ 	.write16	= ssb_pcmcia_write16,
+ 	.write32	= ssb_pcmcia_write32,
+ };
+diff -up linux-2.6.24.noarch/drivers/ssb/main.c.orig linux-2.6.24.noarch/drivers/ssb/main.c
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-02-21 14:00:25.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-02-21 14:05:08.000000000 -0500
+@@ -505,6 +505,14 @@ error:
+ 	return err;
+ }
+ 
++static u8 ssb_ssb_read8(struct ssb_device *dev, u16 offset)
++{
++	struct ssb_bus *bus = dev->bus;
++
++	offset += dev->core_index * SSB_CORE_SIZE;
++	return readb(bus->mmio + offset);
++}
++
+ static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -521,6 +529,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
+ 	return readl(bus->mmio + offset);
+ }
+ 
++static void ssb_ssb_write8(struct ssb_device *dev, u16 offset, u8 value)
++{
++	struct ssb_bus *bus = dev->bus;
++
++	offset += dev->core_index * SSB_CORE_SIZE;
++	writeb(value, bus->mmio + offset);
++}
++
+ static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -539,8 +555,10 @@ static void ssb_ssb_write32(struct ssb_d
+ 
+ /* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
+ static const struct ssb_bus_ops ssb_ssb_ops = {
++	.read8		= ssb_ssb_read8,
+ 	.read16		= ssb_ssb_read16,
+ 	.read32		= ssb_ssb_read32,
++	.write8		= ssb_ssb_write8,
+ 	.write16	= ssb_ssb_write16,
+ 	.write32	= ssb_ssb_write32,
+ };
+diff -up linux-2.6.24.noarch/drivers/ssb/pci.c.orig linux-2.6.24.noarch/drivers/ssb/pci.c
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-02-21 13:44:10.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-02-21 14:05:08.000000000 -0500
+@@ -572,6 +572,19 @@ static inline int ssb_pci_assert_buspowe
+ }
+ #endif /* DEBUG */
+ 
++static u8 ssb_pci_read8(struct ssb_device *dev, u16 offset)
++{
++	struct ssb_bus *bus = dev->bus;
++
++	if (unlikely(ssb_pci_assert_buspower(bus)))
++		return 0xFF;
++	if (unlikely(bus->mapped_device != dev)) {
++		if (unlikely(ssb_pci_switch_core(bus, dev)))
++			return 0xFF;
++	}
++	return ioread8(bus->mmio + offset);
++}
++
+ static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -598,6 +611,19 @@ static u32 ssb_pci_read32(struct ssb_dev
+ 	return ioread32(bus->mmio + offset);
+ }
+ 
++static void ssb_pci_write8(struct ssb_device *dev, u16 offset, u8 value)
++{
++	struct ssb_bus *bus = dev->bus;
++
++	if (unlikely(ssb_pci_assert_buspower(bus)))
++		return;
++	if (unlikely(bus->mapped_device != dev)) {
++		if (unlikely(ssb_pci_switch_core(bus, dev)))
++			return;
++	}
++	iowrite8(value, bus->mmio + offset);
++}
++
+ static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
+ {
+ 	struct ssb_bus *bus = dev->bus;
+@@ -626,8 +652,10 @@ static void ssb_pci_write32(struct ssb_d
+ 
+ /* Not "static", as it's used in main.c */
+ const struct ssb_bus_ops ssb_pci_ops = {
++	.read8		= ssb_pci_read8,
+ 	.read16		= ssb_pci_read16,
+ 	.read32		= ssb_pci_read32,
++	.write8		= ssb_pci_write8,
+ 	.write16	= ssb_pci_write16,
+ 	.write32	= ssb_pci_write32,
+ };

linux-2.6-wireless.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.25 -r 1.26 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.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- linux-2.6-wireless.patch	21 Feb 2008 19:11:27 -0000	1.25
+++ linux-2.6-wireless.patch	28 Feb 2008 03:18:34 -0000	1.26
@@ -1,3 +1,169 @@
+commit c2893054cc823e05c723114378244c8caba084c0
+Author: Alexey Zaytsev <alexey.zaytsev at gmail.com>
+Date:   Sat Feb 23 13:33:07 2008 +0300
+
+    Don't build bcm43xx if SSB is static and b43 PCI-SSB bridge is enabled.
+    
+    This may happen e.g. when the ssb is statically enables by the b44 driver,
+    and the b43 pci-ssb bridge is enbled by the b43/b43legacy drivers, or the
+    b43/b43legacy drivers are built statically.
+    
+    Signed-off-by: Alexey Zaytsev <alexey.zaytsev at gmail.com>
+    Acked-by: Larry Finger <Larry.Finger at lwfinger.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 82928757f3e9451c1ae520f46d327d6110a4eec1
+Author: Alexey Zaytsev <alexey.zaytsev at gmail.com>
+Date:   Sat Feb 23 12:59:26 2008 +0300
+
+    Use a separate config option for the b43 pci to ssb bridge.
+    
+    The bridge code was unnecessary enabled by the b44
+    driver, but it prevents the bcm43xx driver from
+    being loaded, as the bridge claims the same pci ids.
+    
+    Now we enable the birdge only if the b43{legacy}
+    drivers are selected.
+    
+    Signed-off-by: Alexey Zaytsev <alexey.zaytsev at gmail.com>
+    Acked-by: Larry Finger <Larry.Finger at lwfinger.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e668b6729ca1c7f88c7ea1789fb0ed4503c384ce
+Author: Roland Dreier <rdreier at cisco.com>
+Date:   Tue Feb 26 15:26:56 2008 +0100
+
+    libertas: Remove unused exports
+    
+    The libertas driver exports a number of symbols with no in-tree users;
+    remove these unused exports.  lbs_reset_device() is completely unused, with
+    no callers at all, so remove the function completely.
+    
+    A couple of these unused exported symbols are static, which causes the
+    following build error on ia64 with gcc 4.2.3:
+    
+        drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict
+        drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict
+    
+    Signed-off-by: Roland Dreier <rolandd at cisco.com>
+    Acked-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 7e0a589e4de9278215da894ba8e41ba0943e7aca
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Tue Feb 26 00:39:28 2008 +0100
+
+    mac80211: fix kmalloc vs. net_ratelimit
+    
+    The "goto end;" part definitely must not be rate limited.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 702ebfa36437c98a60ea21ac2a18b159e6aa16c6
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Mon Feb 25 23:15:13 2008 +0100
+
+    rt2x00: Fix rt2x00lib_reset_link_tuner()
+    
+    rt2x00lib_reset_link_tuner() can be called from within
+    the link tuner itself. This means that it should
+    _not_ call rt2x00lib_stop_link_tuner() since that will
+    cause the thread to hang.
+    
+    Reorder the things that should be done during a
+    link tuner reset and during a link tuner start.
+    
+    Also make antenna tuning the last step of the link
+    tuner since it could possibly reset some statistical
+    information which we need for average calculation.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 4460423f7cd0e1c5c0cf92e6159f151ba16e518f
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Mon Feb 25 23:15:08 2008 +0100
+
+    rt2x00: Don't switch to antenna with low rssi
+    
+    When rssi_a > rssi_b is true and the current antenna
+    was already antenna A, then rt2x00 incorrectly jumped
+    to antenna B.
+    
+    Also don't configure the antenna when there has been
+    no change in the antenna setup.
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 50cbbe9cf17c52588a6b709273547c93b7c3d329
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Mon Feb 25 23:15:05 2008 +0100
+
+    rt2x00: Add link tuner safe RX toggle states
+    
+    This adds 2 new states which both are used to toggle
+    the RX. These new states are required for usage
+    inside the link tuner thread, because the normal
+    RX toggling will stop the link tuner thread.
+    While it is possible that the link tuner thread itself
+    is the caller of the RX toggle (when using software
+    antenna diversity).
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit b268ed34199317e1c627106f1bc60317f2d5c44c
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date:   Mon Feb 25 23:15:01 2008 +0100
+
+    rt2x00: Fix antenna diversity
+    
+    Fix 2 issues in antenna diversity selection.
+    
+    1) the following statement will always return true.
+    	if ((rssi_curr - rssi_old) > -5 || (rssi_curr - rssi_old) < 5)
+    It is cleaner to check if the absolute value is smaller then 5.
+    
+    2) Only enable software diversity when default antenna setup
+    indicates support for it. Don't select it when the hardware
+    does not indicate support for it...
+    
+    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 04d0a24457e249388ec3ee32b345617d1bc6ebf2
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date:   Wed Feb 20 11:47:45 2008 +0100
+
+    rndis_wlan: fix sparse warnings
+    
+    It is obviously wrong to use an enum in a little endian struct,
+    and those other enums should be declared differently.
+    
+    Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+    Acked-by: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 7672b302058148f0e9a4a2be36c851510ff9cb88
+Author: Gordon Farquharson <gordonfarquharson at gmail.com>
+Date:   Sat Feb 23 03:14:23 2008 -0700
+
+    Fix b43 driver build for arm
+    
+    Align the members of the SSB device structure to a 32 bit boundary so
+    that the b43 driver can be built for arm using a cross compiler. This
+    alignment is required so that the test in scripts/mod/file2alias.c
+    that checks that the size of the device ID type against the size of
+    the section in the object file succeeds (see comment and
+    http://lkml.org/lkml/2008/2/18/481 for explanation).
+    
+    Signed-off-by: Gordon Farquharson <gordonfarquharson at gmail.com>
+    Acked-by: Michael Buesch <mb at bu3sch.de>
+    Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
 commit fc71acc846c577473ada72a46c5ea9c935eca086
 Author: Michael Buesch <mb at bu3sch.de>
 Date:   Sat Feb 16 18:13:36 2008 +0100
@@ -7981,8 +8147,8 @@
     Signed-off-by: John W. Linville <linville at tuxdriver.com>
 
 diff -up linux-2.6.24.noarch/include/linux/nl80211.h.orig linux-2.6.24.noarch/include/linux/nl80211.h
---- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-02-21 13:54:41.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-02-21 13:54:47.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/nl80211.h.orig	2008-02-27 21:18:02.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/nl80211.h	2008-02-27 21:18:07.000000000 -0500
 @@ -7,6 +7,18 @@
   */
  
@@ -8184,8 +8350,8 @@
 +
  #endif /* __LINUX_NL80211_H */
 diff -up linux-2.6.24.noarch/include/linux/wireless.h.orig linux-2.6.24.noarch/include/linux/wireless.h
---- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/wireless.h	2008-02-21 13:54:47.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/wireless.h.orig	2008-02-27 21:18:02.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/wireless.h	2008-02-27 21:18:07.000000000 -0500
 @@ -541,6 +541,16 @@
  /* Maximum size of returned data */
  #define IW_SCAN_MAX_DATA	4096	/* In bytes */
[...5516 lines suppressed...]
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_main.c	2008-02-27 21:18:08.000000000 -0500
 @@ -296,7 +296,7 @@ int hostap_tx_callback_unregister(local_
  int hostap_set_word(struct net_device *dev, int rid, u16 val)
  {
@@ -128782,8 +129064,8 @@
  	wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL);
  	return ret;
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_info.c	2008-02-27 21:18:08.000000000 -0500
 @@ -303,7 +303,7 @@ static void prism2_info_hostscanresults(
  	int i, result_size, copy_len, new_count;
  	struct hfa384x_hostscan_result *results, *prev;
@@ -128822,8 +129104,8 @@
  		for (i = 0; i < (left < 100 ? left : 100); i++)
  			PDEBUG2(DEBUG_EXTRA, " %02x", buf[i]);
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_80211.h	2008-02-27 21:18:08.000000000 -0500
 @@ -5,52 +5,52 @@
  #include <net/ieee80211_crypt.h>
  
@@ -128907,8 +129189,8 @@
  enum {
  	PRISM2_RX_MONITOR, PRISM2_RX_MGMT, PRISM2_RX_NON_ASSOC,
 diff -up linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
---- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/hostap/hostap_ioctl.c	2008-02-27 21:18:08.000000000 -0500
 @@ -84,7 +84,7 @@ static int prism2_get_datarates(struct n
  	if (len < 2)
  		return 0;
@@ -129173,8 +129455,8 @@
  	reason = cpu_to_le16(param->u.mlme.reason_code);
  	switch (param->u.mlme.cmd) {
 diff -up linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c
---- linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/b43_pci_bridge.c	2008-02-27 21:18:08.000000000 -0500
 @@ -27,6 +27,8 @@ static const struct pci_device_id b43_pc
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
  	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
@@ -129185,8 +129467,8 @@
  };
  MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
 diff -up linux-2.6.24.noarch/drivers/ssb/Makefile.orig linux-2.6.24.noarch/drivers/ssb/Makefile
---- linux-2.6.24.noarch/drivers/ssb/Makefile.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-02-21 13:55:35.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/Makefile.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/Makefile	2008-02-27 21:18:24.000000000 -0500
 @@ -1,5 +1,6 @@
  # core
  ssb-y					+= main.o scan.o
@@ -129194,9 +129476,17 @@
  
  # host support
  ssb-$(CONFIG_SSB_PCIHOST)		+= pci.o pcihost_wrapper.o
+@@ -13,6 +14,6 @@ ssb-$(CONFIG_SSB_DRIVER_PCICORE)	+= driv
+ 
+ # b43 pci-ssb-bridge driver
+ # Not strictly a part of SSB, but kept here for convenience
+-ssb-$(CONFIG_SSB_PCIHOST)		+= b43_pci_bridge.o
++ssb-$(CONFIG_SSB_B43_PCI_BRIDGE)	+= b43_pci_bridge.o
+ 
+ obj-$(CONFIG_SSB)			+= ssb.o
 diff -up linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.24.noarch/drivers/ssb/pcmcia.c
---- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c	2008-02-27 21:18:08.000000000 -0500
 @@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
  			   struct ssb_device *dev)
  {
@@ -129347,8 +129637,8 @@
  }
  
 diff -up linux-2.6.24.noarch/drivers/ssb/main.c.orig linux-2.6.24.noarch/drivers/ssb/main.c
---- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-02-21 13:55:35.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/main.c	2008-02-27 21:18:08.000000000 -0500
 @@ -557,6 +557,7 @@ static int ssb_fetch_invariants(struct s
  		goto out;
  	memcpy(&bus->boardinfo, &iv.boardinfo, sizeof(iv.boardinfo));
@@ -129391,9 +129681,25 @@
  		WARN_ON(1);
  	}
  	return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
+diff -up linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig linux-2.6.24.noarch/drivers/ssb/ssb_private.h
+--- linux-2.6.24.noarch/drivers/ssb/ssb_private.h.orig	2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/ssb_private.h	2008-02-27 21:18:24.000000000 -0500
+@@ -120,10 +120,10 @@ extern int ssb_devices_thaw(struct ssb_b
+ extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
+ 
+ /* b43_pci_bridge.c */
+-#ifdef CONFIG_SSB_PCIHOST
++#ifdef CONFIG_SSB_B43_PCI_BRIDGE
+ extern int __init b43_pci_ssb_bridge_init(void);
+ extern void __exit b43_pci_ssb_bridge_exit(void);
+-#else /* CONFIG_SSB_PCIHOST */
++#else /* CONFIG_SSB_B43_PCI_BRIDGR */
+ static inline int b43_pci_ssb_bridge_init(void)
+ {
+ 	return 0;
 diff -up linux-2.6.24.noarch/drivers/ssb/pci.c.orig linux-2.6.24.noarch/drivers/ssb/pci.c
---- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pci.c	2008-02-27 21:18:08.000000000 -0500
 @@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
  	return t[crc ^ data];
  }
@@ -129839,8 +130145,8 @@
  		err = -EINVAL;
  		goto out_kfree;
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c
---- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-02-21 13:55:35.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c	2008-02-27 21:18:08.000000000 -0500
 @@ -39,12 +39,14 @@ static inline void chipco_write32(struct
  	ssb_write32(cc->dev, offset, value);
  }
@@ -129962,9 +130268,21 @@
  		else
  			uart_regs += (i * 256);
 diff -up linux-2.6.24.noarch/drivers/ssb/Kconfig.orig linux-2.6.24.noarch/drivers/ssb/Kconfig
---- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-02-21 13:55:35.000000000 -0500
-@@ -105,6 +105,12 @@ config SSB_DRIVER_MIPS
+--- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/Kconfig	2008-02-27 21:18:24.000000000 -0500
+@@ -35,6 +35,11 @@ config SSB_PCIHOST
+ 
+ 	  If unsure, say Y
+ 
++config SSB_B43_PCI_BRIDGE
++	bool
++	depends on SSB_PCIHOST
++	default n
++
+ config SSB_PCMCIAHOST_POSSIBLE
+ 	bool
+ 	depends on SSB && (PCMCIA = y || PCMCIA = SSB) && EXPERIMENTAL
+@@ -105,6 +110,12 @@ config SSB_DRIVER_MIPS
  
  	  If unsure, say N
  
@@ -129978,8 +130296,8 @@
  	bool "SSB Broadcom EXTIF core driver (EXPERIMENTAL)"
  	depends on SSB_DRIVER_MIPS && EXPERIMENTAL
 diff -up /dev/null linux-2.6.24.noarch/drivers/ssb/embedded.c
---- /dev/null	2008-02-21 08:21:48.545426467 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-02-21 13:55:35.000000000 -0500
+--- /dev/null	2008-02-27 08:31:30.805858387 -0500
++++ linux-2.6.24.noarch/drivers/ssb/embedded.c	2008-02-27 21:18:08.000000000 -0500
 @@ -0,0 +1,132 @@
 +/*
 + * Sonics Silicon Backplane
@@ -130114,8 +130432,8 @@
 +}
 +EXPORT_SYMBOL(ssb_gpio_polarity);
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig linux-2.6.24.noarch/drivers/ssb/driver_extif.c
---- linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-02-21 13:55:35.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/driver_extif.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_extif.c	2008-02-27 21:18:08.000000000 -0500
 @@ -27,12 +27,14 @@ static inline void extif_write32(struct 
  	ssb_write32(extif->dev, offset, value);
  }
@@ -130172,8 +130490,8 @@
 +	return extif_write32_masked(extif, SSB_EXTIF_GPIO_INTMASK, mask, value);
 +}
 diff -up linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c
---- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig	2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-02-21 13:55:35.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c	2008-02-27 21:18:08.000000000 -0500
 @@ -11,6 +11,7 @@
  #include <linux/ssb/ssb.h>
  #include <linux/pci.h>
@@ -130293,8 +130611,8 @@
  	 * values. Not waiting at this point causes crashes of the machine. */
  	mdelay(10);
 diff -up linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt
---- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-02-21 13:54:42.000000000 -0500
-+++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-02-21 13:54:48.000000000 -0500
+--- linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt.orig	2008-02-27 21:18:03.000000000 -0500
++++ linux-2.6.24.noarch/Documentation/feature-removal-schedule.txt	2008-02-27 21:18:08.000000000 -0500
 @@ -332,4 +332,36 @@ Why:	This driver has been marked obsolet
  	2.4 or later kernels, provides richer features and is more robust.
  Who:	Stephen Hemminger <shemminger at linux-foundation.org>




More information about the fedora-extras-commits mailing list