rpms/kernel/devel linux-2.6-wireless-pending-too.patch, 1.3, 1.4 kernel.spec, 1.473, 1.474 linux-2.6-wireless-pending.patch, 1.32, 1.33 linux-2.6-wireless.patch, 1.25, 1.26
John W. Linville (linville)
fedora-extras-commits at redhat.com
Wed Mar 5 01:09:26 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19168
Modified Files:
kernel.spec linux-2.6-wireless-pending.patch
linux-2.6-wireless.patch
Added Files:
linux-2.6-wireless-pending-too.patch
Log Message:
today's round of wireless fixes, plus a couple extra to correct memory corruption from yesterday's round
linux-2.6-wireless-pending-too.patch:
Index: linux-2.6-wireless-pending-too.patch
===================================================================
RCS file: linux-2.6-wireless-pending-too.patch
diff -N linux-2.6-wireless-pending-too.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ linux-2.6-wireless-pending-too.patch 5 Mar 2008 01:09:02 -0000 1.4
@@ -0,0 +1,68 @@
+This is an a backport of two fixes which are based on top of the open11s
+patches which are not yet in Rawhide. They will disappear when those
+later patches get merged to net-2.6.26 (probably in a few days).
+
+ mac80211: always insert key into list
+ mac80211: fix hardware scan completion
+
+diff -up linux-2.6.24.noarch/net/mac80211/key.c.orig linux-2.6.24.noarch/net/mac80211/key.c
+--- linux-2.6.24.noarch/net/mac80211/key.c.orig 2008-03-04 19:40:41.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/key.c 2008-03-04 19:43:13.000000000 -0500
+@@ -174,6 +174,9 @@ static void __ieee80211_key_replace(stru
+ {
+ int idx, defkey;
+
++ if (new)
++ list_add(&new->list, &sdata->key_list);
++
+ if (sta) {
+ rcu_assign_pointer(sta->key, new);
+ } else {
+@@ -190,9 +193,6 @@ static void __ieee80211_key_replace(stru
+ ieee80211_set_default_key(sdata, -1);
+
+ rcu_assign_pointer(sdata->keys[idx], new);
+- if (new)
+- list_add(&new->list, &sdata->key_list);
+-
+ if (defkey && new)
+ ieee80211_set_default_key(sdata, new->conf.keyidx);
+ }
+diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig 2008-03-04 19:40:41.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c 2008-03-04 19:48:19.000000000 -0500
+@@ -3401,22 +3401,27 @@ void ieee80211_scan_completed(struct iee
+
+ rcu_read_lock();
+ list_for_each_entry_rcu(sdata, &local->interfaces, list) {
+-
+ /* No need to wake the master device. */
+ if (sdata->dev == local->mdev)
+ continue;
+
+- if (sdata->vif.type == IEEE80211_IF_TYPE_STA) {
+- if (sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED)
+- ieee80211_send_nullfunc(local, sdata, 0);
+- ieee80211_sta_timer((unsigned long)sdata);
+- }
++ /* Tell AP we're back */
++ if (sdata->vif.type == IEEE80211_IF_TYPE_STA &&
++ sdata->u.sta.flags & IEEE80211_STA_ASSOCIATED)
++ ieee80211_send_nullfunc(local, sdata, 0);
+
+ netif_wake_queue(sdata->dev);
+ }
+- rcu_read_unlock();
+
+ done:
++ /* Restart STA timer for both SW and HW scan cases */
++ list_for_each_entry_rcu(sdata, &local->interfaces, list) {
++ if (sdata->vif.type == IEEE80211_IF_TYPE_STA)
++ ieee80211_sta_timer((unsigned long)sdata);
++ }
++
++ rcu_read_unlock();
++
+ sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+ if (sdata->vif.type == IEEE80211_IF_TYPE_IBSS) {
+ struct ieee80211_if_sta *ifsta = &sdata->u.sta;
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.473
retrieving revision 1.474
diff -u -r1.473 -r1.474
--- kernel.spec 4 Mar 2008 15:19:02 -0000 1.473
+++ kernel.spec 5 Mar 2008 01:09:02 -0000 1.474
@@ -609,6 +609,7 @@
Patch680: linux-2.6-wireless.patch
Patch681: linux-2.6-wireless-pending.patch
+Patch682: linux-2.6-wireless-pending-too.patch
Patch690: linux-2.6-at76.patch
Patch820: linux-2.6-compile-fixes.patch
@@ -1106,9 +1107,11 @@
ApplyPatch linux-2.6-ata-quirk.patch
# wireless patches headed for 2.6.25
-#ApplyPatch linux-2.6-wireless.patch
+ApplyPatch linux-2.6-wireless.patch
# wireless patches headed for 2.6.26
ApplyPatch linux-2.6-wireless-pending.patch
+# temporary backport of some later wireless patches
+ApplyPatch linux-2.6-wireless-pending-too.patch
# Add misc wireless bits from upstream wireless tree
ApplyPatch linux-2.6-at76.patch
@@ -1748,6 +1751,18 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Tue Mar 04 2008 John W. Linville <linville at redhat.com>
+- libertas: fix sanity check on sequence number in command response
+- p54: fix EEPROM structure endianness
+- p54: fix eeprom parser length sanity checks
+- rndis_wlan: fix broken data copy
+- b43legacy: Fix module init message
+- libertas: compare the current command with response
+- rc80211-pid: fix rate adjustment
+- ssb: Add pcibios_enable_device() return value check
+- mac80211: always insert key into list (temporary backport)
+- mac80211: fix hardware scan completion (temporary backport)
+
* Tue Mar 04 2008 Kyle McMartin <kmcmartin at redhat.com>
- Linux 2.6.25-rc3-git5
linux-2.6-wireless-pending.patch:
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless-pending.patch,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- linux-2.6-wireless-pending.patch 3 Mar 2008 22:02:24 -0000 1.32
+++ linux-2.6-wireless-pending.patch 5 Mar 2008 01:09:02 -0000 1.33
@@ -2315,8 +2315,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-03-03 16:42:49.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/nl80211.h 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/nl80211.h.orig 2008-03-04 19:28:34.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/nl80211.h 2008-03-04 19:35:31.000000000 -0500
@@ -161,6 +161,12 @@ enum nl80211_commands {
* given for %NL80211_CMD_GET_STATION, nested attribute containing
* info as possible, see &enum nl80211_sta_stats.
@@ -2436,8 +2436,8 @@
+
#endif /* __LINUX_NL80211_H */
diff -up linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig 2008-03-03 16:42:49.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h.orig 2008-03-04 19:28:34.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/ssb/ssb_driver_chipcommon.h 2008-03-04 19:35:31.000000000 -0500
@@ -390,6 +390,10 @@ extern void ssb_chipco_set_clockmode(str
extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc,
u32 ticks);
@@ -2450,8 +2450,8 @@
u32 ssb_chipco_gpio_in(struct ssb_chipcommon *cc, u32 mask);
u32 ssb_chipco_gpio_out(struct ssb_chipcommon *cc, u32 mask, u32 value);
diff -up linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig linux-2.6.24.noarch/include/linux/ssb/ssb.h
---- linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig 2008-03-03 16:42:49.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/ssb/ssb.h 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/include/linux/ssb/ssb.h.orig 2008-03-04 19:28:34.000000000 -0500
++++ linux-2.6.24.noarch/include/linux/ssb/ssb.h 2008-03-04 19:35:31.000000000 -0500
@@ -72,8 +72,10 @@ struct ssb_device;
/* Lowlevel read/write operations on the device MMIO.
* Internal, don't use that outside of ssb. */
@@ -2487,7 +2487,7 @@
dev->ops->write16(dev, offset, value);
diff -up linux-2.6.24.noarch/include/net/wireless.h.orig linux-2.6.24.noarch/include/net/wireless.h
--- linux-2.6.24.noarch/include/net/wireless.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/include/net/wireless.h 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/include/net/wireless.h 2008-03-04 19:35:31.000000000 -0500
@@ -13,6 +13,162 @@
#include <net/cfg80211.h>
@@ -2676,8 +2676,8 @@
+
#endif /* __NET_WIRELESS_H */
diff -up linux-2.6.24.noarch/include/net/cfg80211.h.orig linux-2.6.24.noarch/include/net/cfg80211.h
---- linux-2.6.24.noarch/include/net/cfg80211.h.orig 2008-03-03 16:42:49.000000000 -0500
-+++ linux-2.6.24.noarch/include/net/cfg80211.h 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/include/net/cfg80211.h.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/include/net/cfg80211.h 2008-03-04 19:35:31.000000000 -0500
@@ -163,6 +163,26 @@ struct station_stats {
u32 tx_bytes;
};
@@ -2719,8 +2719,8 @@
int (*add_key)(struct wiphy *wiphy, struct net_device *netdev,
u8 key_index, u8 *mac_addr,
diff -up linux-2.6.24.noarch/include/net/mac80211.h.orig linux-2.6.24.noarch/include/net/mac80211.h
---- linux-2.6.24.noarch/include/net/mac80211.h.orig 2008-03-03 16:42:49.000000000 -0500
-+++ linux-2.6.24.noarch/include/net/mac80211.h 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/include/net/mac80211.h.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/include/net/mac80211.h 2008-03-04 19:35:31.000000000 -0500
@@ -38,7 +38,11 @@
* called in hardware interrupt context. The low-level driver must not call any
* other functions in hardware interrupt context. If there is a need for such
@@ -3384,7 +3384,7 @@
#endif /* MAC80211_H */
diff -up linux-2.6.24.noarch/net/mac80211/wme.h.orig linux-2.6.24.noarch/net/mac80211/wme.h
--- linux-2.6.24.noarch/net/mac80211/wme.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wme.h 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wme.h 2008-03-04 19:35:31.000000000 -0500
@@ -24,6 +24,8 @@
#define QOS_CONTROL_TAG1D_MASK 0x07
@@ -3431,7 +3431,7 @@
return 0;
diff -up linux-2.6.24.noarch/net/mac80211/wep.h.orig linux-2.6.24.noarch/net/mac80211/wep.h
--- linux-2.6.24.noarch/net/mac80211/wep.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wep.h 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wep.h 2008-03-04 19:35:31.000000000 -0500
@@ -28,9 +28,9 @@ int ieee80211_wep_decrypt(struct ieee802
struct ieee80211_key *key);
u8 * ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key);
@@ -3445,8 +3445,8 @@
#endif /* WEP_H */
diff -up linux-2.6.24.noarch/net/mac80211/rx.c.orig linux-2.6.24.noarch/net/mac80211/rx.c
---- linux-2.6.24.noarch/net/mac80211/rx.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/rx.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/rx.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/rx.c 2008-03-04 19:35:31.000000000 -0500
@@ -9,6 +9,7 @@
* published by the Free Software Foundation.
*/
@@ -4615,8 +4615,8 @@
rcu_read_unlock();
}
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_iface.c 2008-03-04 19:35:31.000000000 -0500
@@ -118,6 +118,8 @@ void ieee80211_if_set_type(struct net_de
sdata->bss = NULL;
sdata->vif.type = type;
@@ -4656,8 +4656,8 @@
while ((skb = skb_dequeue(&sdata->u.ap.ps_bc_buf))) {
local->total_ps_buffered--;
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_ioctl.c 2008-03-04 19:35:31.000000000 -0500
@@ -33,8 +33,8 @@ static int ieee80211_set_encryption(stru
size_t key_len)
{
@@ -5022,7 +5022,7 @@
if (local->hw.conf.power_level != new_power_level) {
diff -up linux-2.6.24.noarch/net/mac80211/debugfs_sta.c.orig linux-2.6.24.noarch/net/mac80211/debugfs_sta.c
--- linux-2.6.24.noarch/net/mac80211/debugfs_sta.c.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/debugfs_sta.c 2008-03-03 16:47:32.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/debugfs_sta.c 2008-03-04 19:35:31.000000000 -0500
@@ -33,25 +33,16 @@ static ssize_t sta_ ##name## _read(struc
#define STA_READ_LU(name, field) STA_READ(name, 20, field, "%lu\n")
#define STA_READ_S(name, field) STA_READ(name, 20, field, "%s\n")
@@ -5272,8 +5272,8 @@
debugfs_remove(sta->debugfs.dir);
sta->debugfs.dir = NULL;
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_rate.c 2008-03-04 19:35:31.000000000 -0500
@@ -163,7 +163,8 @@ static void rate_control_release(struct
}
@@ -5309,8 +5309,8 @@
}
}
diff -up linux-2.6.24.noarch/net/mac80211/Makefile.orig linux-2.6.24.noarch/net/mac80211/Makefile
---- linux-2.6.24.noarch/net/mac80211/Makefile.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/Makefile 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/Makefile.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/Makefile 2008-03-04 19:35:31.000000000 -0500
@@ -19,7 +19,6 @@ mac80211-y := \
ieee80211_iface.o \
ieee80211_rate.o \
@@ -5321,7 +5321,7 @@
cfg.o \
diff -up linux-2.6.24.noarch/net/mac80211/regdomain.c.orig linux-2.6.24.noarch/net/mac80211/regdomain.c
--- linux-2.6.24.noarch/net/mac80211/regdomain.c.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/regdomain.c 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/regdomain.c 2008-03-04 19:35:31.000000000 -0500
@@ -1,152 +0,0 @@
-/*
- * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -5476,134 +5476,72 @@
-}
-
diff -up linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c
---- linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c 2008-03-03 16:47:32.000000000 -0500
-@@ -2,7 +2,7 @@
- * Copyright 2002-2005, Instant802 Networks, Inc.
- * Copyright 2005, Devicescape Software, Inc.
- * Copyright 2007, Mattias Nissler <mattias.nissler at gmx.de>
-- * Copyright 2007, Stefano Brivio <stefano.brivio at polimi.it>
-+ * Copyright 2007-2008, Stefano Brivio <stefano.brivio at polimi.it>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
-@@ -64,71 +64,66 @@
+--- linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig 2008-03-04 19:32:48.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c 2008-03-04 19:37:37.000000000 -0500
+@@ -63,6 +63,7 @@
+ * RC_PID_ARITH_SHIFT.
*/
-
--/* Shift the adjustment so that we won't switch to a lower rate if it exhibited
-- * a worse failed frames behaviour and we'll choose the highest rate whose
-- * failed frames behaviour is not worse than the one of the original rate
-- * target. While at it, check that the adjustment is within the ranges. Then,
-- * provide the new rate index. */
--static int rate_control_pid_shift_adjust(struct rc_pid_rateinfo *r,
-- int adj, int cur, int l)
--{
-- int i, j, k, tmp;
--
-- j = r[cur].rev_index;
-- i = j + adj;
--
-- if (i < 0)
-- return r[0].index;
-- if (i >= l - 1)
-- return r[l - 1].index;
--
-- tmp = i;
--
-- if (adj < 0) {
-- for (k = j; k >= i; k--)
-- if (r[k].diff <= r[j].diff)
-- tmp = k;
-- } else {
-- for (k = i + 1; k + i < l; k++)
-- if (r[k].diff <= r[i].diff)
-- tmp = k;
-- }
--
-- return r[tmp].index;
--}
--
-+/* Adjust the rate while ensuring that we won't switch to a lower rate if it
-+ * exhibited a worse failed frames behaviour and we'll choose the highest rate
-+ * whose failed frames behaviour is not worse than the one of the original rate
-+ * target. While at it, check that the new rate is valid. */
- static void rate_control_pid_adjust_rate(struct ieee80211_local *local,
- struct sta_info *sta, int adj,
++
+ /* Adjust the rate while ensuring that we won't switch to a lower rate if it
+ * exhibited a worse failed frames behaviour and we'll choose the highest rate
+ * whose failed frames behaviour is not worse than the one of the original rate
+@@ -72,14 +73,14 @@ static void rate_control_pid_adjust_rate
struct rc_pid_rateinfo *rinfo)
{
struct ieee80211_sub_if_data *sdata;
- struct ieee80211_hw_mode *mode;
-- int newidx;
-- int maxrate;
-- int back = (adj > 0) ? 1 : -1;
+- int cur_sorted, new_sorted, probe, tmp, n_bitrates;
+- int cur = sta->txrate;
+ struct ieee80211_supported_band *sband;
+ int cur_sorted, new_sorted, probe, tmp, n_bitrates, band;
+ int cur = sta->txrate_idx;
sdata = IEEE80211_DEV_TO_SUB_IF(sta->dev);
+-
+- mode = local->oper_hw_mode;
+- n_bitrates = mode->num_rates;
+ sband = local->hw.wiphy->bands[local->hw.conf.channel->band];
+ band = sband->band;
+ n_bitrates = sband->n_bitrates;
-+
-+ /* Map passed arguments to sorted values. */
-+ cur_sorted = rinfo[cur].rev_index;
-+ new_sorted = cur_sorted + adj;
-+
-+ /* Check limits. */
-+ if (new_sorted < 0)
-+ new_sorted = rinfo[0].rev_index;
-+ else if (new_sorted >= n_bitrates)
-+ new_sorted = rinfo[n_bitrates - 1].rev_index;
-
-- mode = local->oper_hw_mode;
-- maxrate = sdata->bss ? sdata->bss->max_ratectrl_rateidx : -1;
-+ tmp = new_sorted;
-- newidx = rate_control_pid_shift_adjust(rinfo, adj, sta->txrate,
-- mode->num_rates);
-+ if (adj < 0) {
-+ /* Ensure that the rate decrease isn't disadvantageous. */
-+ for (probe = cur_sorted; probe >= new_sorted; probe--)
-+ if (rinfo[probe].diff <= rinfo[cur_sorted].diff &&
+ /* Map passed arguments to sorted values. */
+ cur_sorted = rinfo[cur].rev_index;
+@@ -97,20 +98,20 @@ static void rate_control_pid_adjust_rate
+ /* Ensure that the rate decrease isn't disadvantageous. */
+ for (probe = cur_sorted; probe >= new_sorted; probe--)
+ if (rinfo[probe].diff <= rinfo[cur_sorted].diff &&
+- rate_supported(sta, mode, rinfo[probe].index))
+ rate_supported(sta, band, rinfo[probe].index))
-+ tmp = probe;
-+ } else {
-+ /* Look for rate increase with zero (or below) cost. */
-+ for (probe = new_sorted + 1; probe < n_bitrates; probe++)
-+ if (rinfo[probe].diff <= rinfo[new_sorted].diff &&
+ tmp = probe;
+ } else {
+ /* Look for rate increase with zero (or below) cost. */
+ for (probe = new_sorted + 1; probe < n_bitrates; probe++)
+ if (rinfo[probe].diff <= rinfo[new_sorted].diff &&
+- rate_supported(sta, mode, rinfo[probe].index))
+ rate_supported(sta, band, rinfo[probe].index))
-+ tmp = probe;
-+ }
+ tmp = probe;
+ }
-- while (newidx != sta->txrate) {
-- if (rate_supported(sta, mode, newidx) &&
-- (maxrate < 0 || newidx <= maxrate)) {
-- sta->txrate = newidx;
-+ /* Fit the rate found to the nearest supported rate. */
-+ do {
+ /* Fit the rate found to the nearest supported rate. */
+ do {
+- if (rate_supported(sta, mode, rinfo[tmp].index)) {
+- sta->txrate = rinfo[tmp].index;
+ if (rate_supported(sta, band, rinfo[tmp].index)) {
+ sta->txrate_idx = rinfo[tmp].index;
break;
}
--
-- newidx += back;
-- }
-+ if (adj < 0)
-+ tmp--;
-+ else
-+ tmp++;
-+ } while (tmp < n_bitrates && tmp >= 0);
-
+ if (adj < 0)
+@@ -122,7 +123,7 @@ static void rate_control_pid_adjust_rate
#ifdef CONFIG_MAC80211_DEBUGFS
rate_control_pid_event_rate_change(
&((struct rc_pid_sta_info *)sta->rate_ctrl_priv)->events,
-- newidx, mode->rates[newidx].rate);
+- cur, mode->rates[cur].rate);
+ sta->txrate_idx, sband->bitrates[sta->txrate_idx].bitrate);
#endif
}
-@@ -155,7 +150,7 @@ static void rate_control_pid_sample(stru
+@@ -149,7 +150,7 @@ static void rate_control_pid_sample(stru
{
struct rc_pid_sta_info *spinfo = sta->rate_ctrl_priv;
struct rc_pid_rateinfo *rinfo = pinfo->rinfo;
@@ -5612,7 +5550,7 @@
u32 pf;
s32 err_avg;
u32 err_prop;
-@@ -164,7 +159,7 @@ static void rate_control_pid_sample(stru
+@@ -158,7 +159,7 @@ static void rate_control_pid_sample(stru
int adj, i, j, tmp;
unsigned long period;
@@ -5621,7 +5559,7 @@
spinfo = sta->rate_ctrl_priv;
/* In case nothing happened during the previous control interval, turn
-@@ -190,18 +185,18 @@ static void rate_control_pid_sample(stru
+@@ -184,18 +185,18 @@ static void rate_control_pid_sample(stru
spinfo->tx_num_failed = 0;
/* If we just switched rate, update the rate behaviour info. */
@@ -5644,7 +5582,7 @@
/* Compute the proportional, integral and derivative errors. */
err_prop = (pinfo->target << RC_PID_ARITH_SHIFT) - pf;
-@@ -242,8 +237,10 @@ static void rate_control_pid_tx_status(v
+@@ -236,8 +237,10 @@ static void rate_control_pid_tx_status(v
struct sta_info *sta;
struct rc_pid_sta_info *spinfo;
unsigned long period;
@@ -5655,7 +5593,7 @@
if (!sta)
return;
-@@ -251,13 +248,13 @@ static void rate_control_pid_tx_status(v
+@@ -245,13 +248,13 @@ static void rate_control_pid_tx_status(v
/* Don't update the state if we're not controlling the rate. */
sdata = IEEE80211_DEV_TO_SUB_IF(sta->dev);
if (sdata->bss && sdata->bss->force_unicast_rateidx > -1) {
@@ -5671,7 +5609,7 @@
goto ignore;
spinfo = sta->rate_ctrl_priv;
-@@ -283,9 +280,6 @@ static void rate_control_pid_tx_status(v
+@@ -277,9 +280,6 @@ static void rate_control_pid_tx_status(v
sta->tx_num_consecutive_failures++;
sta->tx_num_mpdu_fail++;
} else {
@@ -5681,7 +5619,7 @@
sta->tx_num_consecutive_failures = 0;
sta->tx_num_mpdu_ok++;
}
-@@ -304,7 +298,7 @@ ignore:
+@@ -298,7 +298,7 @@ ignore:
}
static void rate_control_pid_get_rate(void *priv, struct net_device *dev,
@@ -5690,7 +5628,7 @@
struct sk_buff *skb,
struct rate_selection *sel)
{
-@@ -322,7 +316,7 @@ static void rate_control_pid_get_rate(vo
+@@ -316,7 +316,7 @@ static void rate_control_pid_get_rate(vo
fc = le16_to_cpu(hdr->frame_control);
if ((fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA ||
is_multicast_ether_addr(hdr->addr1) || !sta) {
@@ -5699,7 +5637,7 @@
if (sta)
sta_info_put(sta);
return;
-@@ -331,23 +325,23 @@ static void rate_control_pid_get_rate(vo
+@@ -325,23 +325,23 @@ static void rate_control_pid_get_rate(vo
/* If a forced rate is in effect, select it. */
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
if (sdata->bss && sdata->bss->force_unicast_rateidx > -1)
@@ -5730,7 +5668,7 @@
#endif
}
-@@ -359,28 +353,32 @@ static void rate_control_pid_rate_init(v
+@@ -353,28 +353,32 @@ static void rate_control_pid_rate_init(v
* as we need to have IEEE 802.1X auth succeed immediately after assoc..
* Until that method is implemented, we will use the lowest supported
* rate as a workaround. */
@@ -5768,7 +5706,7 @@
if (!rinfo) {
kfree(pinfo);
return NULL;
-@@ -389,7 +387,7 @@ static void *rate_control_pid_alloc(stru
+@@ -383,7 +387,7 @@ static void *rate_control_pid_alloc(stru
/* Sort the rates. This is optimized for the most common case (i.e.
* almost-sorted CCK+OFDM rates). Kind of bubble-sort with reversed
* mapping too. */
@@ -5777,7 +5715,7 @@
rinfo[i].index = i;
rinfo[i].rev_index = i;
if (pinfo->fast_start)
-@@ -397,11 +395,11 @@ static void *rate_control_pid_alloc(stru
+@@ -391,11 +395,11 @@ static void *rate_control_pid_alloc(stru
else
rinfo[i].diff = i * pinfo->norm_offset;
}
@@ -5795,7 +5733,7 @@
rinfo[j + 1].index = tmp;
diff -up linux-2.6.24.noarch/net/mac80211/debugfs.c.orig linux-2.6.24.noarch/net/mac80211/debugfs.c
--- linux-2.6.24.noarch/net/mac80211/debugfs.c.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/debugfs.c 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/debugfs.c 2008-03-04 19:35:35.000000000 -0500
@@ -19,41 +19,6 @@ int mac80211_open_file_generic(struct in
return 0;
}
@@ -5896,8 +5834,8 @@
DEBUGFS_STATS_DEL(transmitted_fragment_count);
DEBUGFS_STATS_DEL(multicast_transmitted_frame_count);
diff -up linux-2.6.24.noarch/net/mac80211/key.c.orig linux-2.6.24.noarch/net/mac80211/key.c
---- linux-2.6.24.noarch/net/mac80211/key.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/key.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/key.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/key.c 2008-03-04 19:35:35.000000000 -0500
@@ -13,6 +13,7 @@
#include <linux/etherdevice.h>
#include <linux/list.h>
@@ -6169,8 +6107,8 @@
ieee80211_key_disable_hw_accel(key);
}
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211.c 2008-03-04 19:35:35.000000000 -0500
@@ -67,9 +67,19 @@ static void ieee80211_configure_filter(s
new_flags |= FIF_ALLMULTI;
@@ -7245,8 +7183,8 @@
return 0;
diff -up linux-2.6.24.noarch/net/mac80211/wme.c.orig linux-2.6.24.noarch/net/mac80211/wme.c
---- linux-2.6.24.noarch/net/mac80211/wme.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wme.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/wme.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wme.c 2008-03-04 19:35:35.000000000 -0500
@@ -19,10 +19,13 @@
#include "wme.h"
@@ -7447,7 +7385,7 @@
+}
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_key.h.orig linux-2.6.24.noarch/net/mac80211/ieee80211_key.h
--- linux-2.6.24.noarch/net/mac80211/ieee80211_key.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_key.h 2008-03-03 16:47:32.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_key.h 2008-03-04 19:35:35.000000000 -0500
@@ -13,6 +13,7 @@
#include <linux/types.h>
#include <linux/list.h>
@@ -7499,8 +7437,8 @@
void ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, int idx);
void ieee80211_free_keys(struct ieee80211_sub_if_data *sdata);
diff -up linux-2.6.24.noarch/net/mac80211/rc80211_simple.c.orig linux-2.6.24.noarch/net/mac80211/rc80211_simple.c
---- linux-2.6.24.noarch/net/mac80211/rc80211_simple.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/rc80211_simple.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/rc80211_simple.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/rc80211_simple.c 2008-03-04 19:35:35.000000000 -0500
@@ -7,6 +7,7 @@
* published by the Free Software Foundation.
*/
@@ -7676,8 +7614,8 @@
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h.orig linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h
---- linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_rate.h 2008-03-04 19:35:35.000000000 -0500
@@ -18,6 +18,7 @@
#include "ieee80211_i.h"
#include "sta_info.h"
@@ -7753,8 +7691,8 @@
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig linux-2.6.24.noarch/net/mac80211/ieee80211_i.h
---- linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_i.h 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_i.h.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_i.h 2008-03-04 19:35:35.000000000 -0500
@@ -79,8 +79,7 @@ struct ieee80211_sta_bss {
u8 ssid[IEEE80211_MAX_SSID_LEN];
size_t ssid_len;
@@ -8161,8 +8099,8 @@
void ieee80211_tx_pending(unsigned long data);
int ieee80211_master_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff -up linux-2.6.24.noarch/net/mac80211/cfg.c.orig linux-2.6.24.noarch/net/mac80211/cfg.c
---- linux-2.6.24.noarch/net/mac80211/cfg.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/cfg.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/cfg.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/cfg.c 2008-03-04 19:35:35.000000000 -0500
@@ -34,10 +34,13 @@ nl80211_type_to_mac80211_type(enum nl802
}
@@ -8337,8 +8275,8 @@
sta->dev = sdata->dev;
if (sdata->vif.type == IEEE80211_IF_TYPE_VLAN ||
diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c 2008-03-04 19:35:35.000000000 -0500
@@ -74,7 +74,7 @@
static void ieee80211_send_probe_req(struct net_device *dev, u8 *dst,
u8 *ssid, size_t ssid_len);
@@ -9882,8 +9820,8 @@
rate_control_rate_init(sta, local);
diff -up linux-2.6.24.noarch/net/mac80211/sta_info.h.orig linux-2.6.24.noarch/net/mac80211/sta_info.h
---- linux-2.6.24.noarch/net/mac80211/sta_info.h.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/sta_info.h 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/sta_info.h.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/sta_info.h 2008-03-04 19:35:35.000000000 -0500
@@ -15,31 +15,72 @@
#include <linux/kref.h>
#include "ieee80211_key.h"
@@ -10078,8 +10016,8 @@
+
#endif /* STA_INFO_H */
diff -up linux-2.6.24.noarch/net/mac80211/tx.c.orig linux-2.6.24.noarch/net/mac80211/tx.c
---- linux-2.6.24.noarch/net/mac80211/tx.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/tx.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/tx.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/tx.c 2008-03-04 19:35:35.000000000 -0500
@@ -92,9 +92,13 @@ static u16 ieee80211_duration(struct iee
int rate, mrate, erp, dur, i;
struct ieee80211_rate *txrate = tx->u.tx.rate;
@@ -10948,8 +10886,8 @@
skb = NULL;
}
diff -up linux-2.6.24.noarch/net/mac80211/sta_info.c.orig linux-2.6.24.noarch/net/mac80211/sta_info.c
---- linux-2.6.24.noarch/net/mac80211/sta_info.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/sta_info.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/sta_info.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/sta_info.c 2008-03-04 19:35:35.000000000 -0500
@@ -55,48 +55,34 @@ static int sta_info_hash_del(struct ieee
return -ENOENT;
}
@@ -11243,8 +11181,8 @@
* sta_info_flush - flush matching STA entries from the STA table
* @local: local interface data
diff -up linux-2.6.24.noarch/net/mac80211/wep.c.orig linux-2.6.24.noarch/net/mac80211/wep.c
---- linux-2.6.24.noarch/net/mac80211/wep.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wep.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/wep.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wep.c 2008-03-04 19:35:35.000000000 -0500
@@ -305,13 +305,13 @@ u8 * ieee80211_wep_is_weak_iv(struct sk_
return NULL;
}
@@ -11312,7 +11250,7 @@
}
diff -up linux-2.6.24.noarch/net/mac80211/wpa.h.orig linux-2.6.24.noarch/net/mac80211/wpa.h
--- linux-2.6.24.noarch/net/mac80211/wpa.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wpa.h 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wpa.h 2008-03-04 19:35:35.000000000 -0500
@@ -13,19 +13,19 @@
#include <linux/types.h>
#include "ieee80211_i.h"
@@ -11340,8 +11278,8 @@
#endif /* WPA_H */
diff -up linux-2.6.24.noarch/net/mac80211/util.c.orig linux-2.6.24.noarch/net/mac80211/util.c
---- linux-2.6.24.noarch/net/mac80211/util.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/util.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/util.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/util.c 2008-03-04 19:35:35.000000000 -0500
@@ -41,92 +41,6 @@ const unsigned char bridge_tunnel_header
{ 0xaa, 0xaa, 0x03, 0x00, 0x00, 0xf8 };
@@ -11544,8 +11482,8 @@
{
struct ieee80211_local *local = hw_to_local(hw);
diff -up linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c.orig linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c
---- linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/debugfs_netdev.c 2008-03-04 19:35:35.000000000 -0500
@@ -91,7 +91,6 @@ static const struct file_operations name
/* common attributes */
IEEE80211_IF_FILE(channel_use, channel_use, DEC);
@@ -11619,8 +11557,8 @@
static void del_monitor_files(struct ieee80211_sub_if_data *sdata)
diff -up linux-2.6.24.noarch/net/mac80211/wpa.c.orig linux-2.6.24.noarch/net/mac80211/wpa.c
---- linux-2.6.24.noarch/net/mac80211/wpa.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/wpa.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/mac80211/wpa.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/wpa.c 2008-03-04 19:35:35.000000000 -0500
@@ -70,7 +70,7 @@ static int ieee80211_get_hdr_info(const
}
@@ -11887,8 +11825,8 @@
+ return RX_CONTINUE;
}
diff -up linux-2.6.24.noarch/net/wireless/nl80211.c.orig linux-2.6.24.noarch/net/wireless/nl80211.c
---- linux-2.6.24.noarch/net/wireless/nl80211.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/wireless/nl80211.c 2008-03-03 16:46:19.000000000 -0500
+--- linux-2.6.24.noarch/net/wireless/nl80211.c.orig 2008-03-04 19:28:36.000000000 -0500
++++ linux-2.6.24.noarch/net/wireless/nl80211.c 2008-03-04 19:35:35.000000000 -0500
@@ -82,6 +82,7 @@ static struct nla_policy nl80211_policy[
[NL80211_ATTR_STA_SUPPORTED_RATES] = { .type = NLA_BINARY,
.len = NL80211_MAX_SUPP_RATES },
@@ -12065,7 +12003,7 @@
unlock:
diff -up linux-2.6.24.noarch/net/wireless/Makefile.orig linux-2.6.24.noarch/net/wireless/Makefile
--- linux-2.6.24.noarch/net/wireless/Makefile.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/wireless/Makefile 2008-03-03 16:46:19.000000000 -0500
++++ linux-2.6.24.noarch/net/wireless/Makefile 2008-03-04 19:35:35.000000000 -0500
@@ -1,5 +1,5 @@
obj-$(CONFIG_WIRELESS_EXT) += wext.o
obj-$(CONFIG_CFG80211) += cfg80211.o
@@ -12074,8 +12012,8 @@
+cfg80211-y += core.o sysfs.o radiotap.o util.o reg.o
cfg80211-$(CONFIG_NL80211) += nl80211.o
diff -up /dev/null linux-2.6.24.noarch/net/wireless/reg.c
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/net/wireless/reg.c 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/net/wireless/reg.c 2008-03-04 19:35:35.000000000 -0500
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2002-2005, Instant802 Networks, Inc.
@@ -12238,7 +12176,7 @@
+}
diff -up linux-2.6.24.noarch/net/wireless/core.h.orig linux-2.6.24.noarch/net/wireless/core.h
--- linux-2.6.24.noarch/net/wireless/core.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/wireless/core.h 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/net/wireless/core.h 2008-03-04 19:35:35.000000000 -0500
@@ -78,4 +78,7 @@ extern void cfg80211_dev_free(struct cfg
extern int cfg80211_dev_rename(struct cfg80211_registered_device *drv,
char *newname);
@@ -12248,8 +12186,8 @@
+
#endif /* __NET_WIRELESS_CORE_H */
diff -up linux-2.6.24.noarch/net/wireless/core.c.orig linux-2.6.24.noarch/net/wireless/core.c
---- linux-2.6.24.noarch/net/wireless/core.c.orig 2008-03-03 16:42:50.000000000 -0500
-+++ linux-2.6.24.noarch/net/wireless/core.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/net/wireless/core.c.orig 2008-03-04 19:28:36.000000000 -0500
++++ linux-2.6.24.noarch/net/wireless/core.c 2008-03-04 19:35:35.000000000 -0500
@@ -232,6 +232,47 @@ int wiphy_register(struct wiphy *wiphy)
{
struct cfg80211_registered_device *drv = wiphy_to_dev(wiphy);
@@ -12299,8 +12237,8 @@
mutex_lock(&cfg80211_drv_mutex);
diff -up /dev/null linux-2.6.24.noarch/net/wireless/util.c
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/net/wireless/util.c 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/net/wireless/util.c 2008-03-04 19:35:35.000000000 -0500
@@ -0,0 +1,98 @@
+/*
+ * Wireless utility functions
@@ -12401,8 +12339,8 @@
+ set_mandatory_flags_band(wiphy->bands[band], band);
+}
diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.h
---- linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54common.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig 2008-03-04 19:32:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54common.h 2008-03-04 19:35:36.000000000 -0500
@@ -251,79 +251,4 @@ struct p54_tx_control_vdcf {
__le16 frameburst;
} __attribute__ ((packed));
@@ -12484,8 +12422,8 @@
-
#endif /* PRISM54COMMON_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.c
---- linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54common.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig 2008-03-04 19:32:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54common.c 2008-03-04 19:35:36.000000000 -0500
@@ -27,6 +27,46 @@ MODULE_DESCRIPTION("Softmac Prism54 comm
MODULE_LICENSE("GPL");
MODULE_ALIAS("prism54common");
@@ -12533,9 +12471,9 @@
void p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw)
{
struct p54_common *priv = dev->priv;
-@@ -251,6 +291,10 @@ int p54_parse_eeprom(struct ieee80211_hw
- case PDR_END:
- i = len;
+@@ -257,6 +297,10 @@ int p54_parse_eeprom(struct ieee80211_hw
+ /* make it overrun */
+ entry_len = len;
break;
+ default:
+ printk(KERN_INFO "p54: unknown eeprom code : 0x%x\n",
@@ -12544,7 +12482,7 @@
}
entry = (void *)entry + (entry_len + 1)*2;
-@@ -308,10 +352,10 @@ static void p54_rx_data(struct ieee80211
+@@ -312,10 +356,10 @@ static void p54_rx_data(struct ieee80211
u16 freq = le16_to_cpu(hdr->freq);
rx_status.ssi = hdr->rssi;
@@ -12558,7 +12496,7 @@
rx_status.antenna = hdr->antenna;
rx_status.mactime = le64_to_cpu(hdr->timestamp);
rx_status.flag |= RX_FLAG_TSFT;
-@@ -349,7 +393,7 @@ static void p54_rx_frame_sent(struct iee
+@@ -353,7 +397,7 @@ static void p54_rx_frame_sent(struct iee
while (entry != (struct sk_buff *)&priv->tx_queue) {
range = (struct memrecord *)&entry->cb;
if (range->start_addr == addr) {
@@ -12567,7 +12505,7 @@
struct p54_control_hdr *entry_hdr;
struct p54_tx_control_allocdata *entry_data;
int pad = 0;
-@@ -365,6 +409,7 @@ static void p54_rx_frame_sent(struct iee
+@@ -369,6 +413,7 @@ static void p54_rx_frame_sent(struct iee
kfree_skb(entry);
break;
}
@@ -12575,7 +12513,7 @@
memcpy(&status.control, range->control,
sizeof(status.control));
kfree(range->control);
-@@ -547,7 +592,9 @@ static int p54_tx(struct ieee80211_hw *d
+@@ -551,7 +596,9 @@ static int p54_tx(struct ieee80211_hw *d
txhdr->padding2 = 0;
/* TODO: add support for alternate retry TX rates */
@@ -12586,7 +12524,7 @@
if (control->flags & IEEE80211_TXCTL_USE_RTS_CTS)
rate |= 0x40;
else if (control->flags & IEEE80211_TXCTL_USE_CTS_PROTECT)
-@@ -717,13 +764,12 @@ static int p54_set_leds(struct ieee80211
+@@ -721,13 +768,12 @@ static int p54_set_leds(struct ieee80211
return 0;
}
@@ -12602,7 +12540,7 @@
} while(0)
static void p54_init_vdcf(struct ieee80211_hw *dev)
-@@ -741,10 +787,10 @@ static void p54_init_vdcf(struct ieee802
+@@ -745,10 +791,10 @@ static void p54_init_vdcf(struct ieee802
vdcf = (struct p54_tx_control_vdcf *) hdr->data;
@@ -12617,7 +12555,7 @@
}
static void p54_set_vdcf(struct ieee80211_hw *dev)
-@@ -849,7 +895,7 @@ static int p54_config(struct ieee80211_h
+@@ -853,7 +899,7 @@ static int p54_config(struct ieee80211_h
{
int ret;
@@ -12626,7 +12564,7 @@
p54_set_vdcf(dev);
return ret;
}
-@@ -897,7 +943,7 @@ static int p54_conf_tx(struct ieee80211_
+@@ -901,7 +947,7 @@ static int p54_conf_tx(struct ieee80211_
if ((params) && !((queue < 0) || (queue > 4))) {
P54_SET_QUEUE(vdcf->queue[queue], params->aifs,
@@ -12635,7 +12573,7 @@
} else
return -EINVAL;
-@@ -944,7 +990,6 @@ struct ieee80211_hw *p54_init_common(siz
+@@ -948,7 +994,6 @@ struct ieee80211_hw *p54_init_common(siz
{
struct ieee80211_hw *dev;
struct p54_common *priv;
@@ -12643,7 +12581,7 @@
dev = ieee80211_alloc_hw(priv_data_len, &p54_ops);
if (!dev)
-@@ -953,18 +998,7 @@ struct ieee80211_hw *p54_init_common(siz
+@@ -957,18 +1002,7 @@ struct ieee80211_hw *p54_init_common(siz
priv = dev->priv;
priv->mode = IEEE80211_IF_TYPE_INVALID;
skb_queue_head_init(&priv->tx_queue);
@@ -12663,7 +12601,7 @@
dev->flags = IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING | /* not sure */
IEEE80211_HW_RX_INCLUDES_FCS;
dev->channel_change_time = 1000; /* TODO: find actual value */
-@@ -986,14 +1020,6 @@ struct ieee80211_hw *p54_init_common(siz
+@@ -990,14 +1024,6 @@ struct ieee80211_hw *p54_init_common(siz
p54_init_vdcf(dev);
@@ -12679,8 +12617,8 @@
}
EXPORT_SYMBOL_GPL(p54_init_common);
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_sa2400.c 2008-03-04 19:35:36.000000000 -0500
@@ -80,8 +80,9 @@ static void sa2400_rf_set_channel(struct
struct ieee80211_conf *conf)
{
@@ -12695,7 +12633,7 @@
diff -up linux-2.6.24.noarch/drivers/net/wireless/adm8211.h.orig linux-2.6.24.noarch/drivers/net/wireless/adm8211.h
--- linux-2.6.24.noarch/drivers/net/wireless/adm8211.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.h 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.h 2008-03-04 19:35:36.000000000 -0500
@@ -534,61 +534,6 @@ struct adm8211_eeprom {
u8 cis_data[0]; /* 0x80, 384 bytes */
} __attribute__ ((packed));
@@ -12783,8 +12721,8 @@
{1, 11}, /* FCC */
{1, 11}, /* IC */
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/main.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.c 2008-03-04 19:35:36.000000000 -0500
@@ -96,25 +96,29 @@ MODULE_DEVICE_TABLE(ssb, b43_ssb_tbl);
* data in there. This data is the same for all devices, so we don't
* get concurrency issues */
@@ -13388,8 +13326,8 @@
goto err_powerdown;
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/xmit.c 2008-03-04 19:35:36.000000000 -0500
@@ -32,46 +32,48 @@
#include "dma.h"
@@ -13599,8 +13537,8 @@
default:
B43_WARN_ON(1);
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/main.h.orig linux-2.6.24.noarch/drivers/net/wireless/b43/main.h
---- linux-2.6.24.noarch/drivers/net/wireless/b43/main.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/main.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/main.h 2008-03-04 19:35:36.000000000 -0500
@@ -95,8 +95,8 @@ u16 b43_shm_read16(struct b43_wldev *dev
void b43_shm_write32(struct b43_wldev *dev, u16 routing, u16 offset, u32 value);
void b43_shm_write16(struct b43_wldev *dev, u16 routing, u16 offset, u16 value);
@@ -13614,7 +13552,7 @@
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/sysfs.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43/sysfs.c
--- linux-2.6.24.noarch/drivers/net/wireless/b43/sysfs.c.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/sysfs.c 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/sysfs.c 2008-03-04 19:35:36.000000000 -0500
@@ -47,29 +47,6 @@ static int get_integer(const char *buf,
return ret;
}
@@ -13730,8 +13668,8 @@
device_remove_file(dev, &dev_attr_interference);
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h.orig linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h
---- linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43/b43.h 2008-03-04 19:35:36.000000000 -0500
@@ -144,7 +144,8 @@ enum {
#define B43_SHM_SH_PHYTYPE 0x0052 /* PHY type */
#define B43_SHM_SH_ANTSWAP 0x005C /* Antenna swap threshold */
@@ -13844,7 +13782,7 @@
bool suspend_in_progress; /* TRUE, if we are in a suspend/resume cycle */
diff -up linux-2.6.24.noarch/drivers/net/wireless/strip.c.orig linux-2.6.24.noarch/drivers/net/wireless/strip.c
--- linux-2.6.24.noarch/drivers/net/wireless/strip.c.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/strip.c 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/strip.c 2008-03-04 19:35:36.000000000 -0500
@@ -962,12 +962,12 @@ static char *time_delta(char buffer[], l
/* get Nth element of the linked list */
static struct strip *strip_get_idx(loff_t pos)
@@ -13862,8 +13800,8 @@
}
return NULL;
diff -up linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c.orig linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c
---- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.c 2008-03-04 19:35:36.000000000 -0500
@@ -771,10 +771,10 @@ static int zd1211b_hw_init_hmac(struct z
{
static const struct zd_ioreq32 ioreqs[] = {
@@ -13919,8 +13857,8 @@
goto out;
/* Disabling interrupts is certainly a smart thing here.
diff -up linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h.orig linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h
---- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_chip.h 2008-03-04 19:35:36.000000000 -0500
@@ -625,11 +625,10 @@ enum {
#define CR_S_MD CTL_REG(0x0830)
@@ -13938,8 +13876,8 @@
#define CR_ZD1211B_AIFS_CTL2 CTL_REG(0x0b14)
#define CR_ZD1211B_TXOP CTL_REG(0x0b20)
diff -up linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c.orig linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c
---- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_ieee80211.c 2008-03-04 19:35:36.000000000 -0500
@@ -65,16 +65,14 @@ static const struct channel_range *zd_ch
static void unmask_bg_channels(struct ieee80211_hw *hw,
@@ -13970,8 +13908,8 @@
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h.orig linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h
---- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.h 2008-03-04 19:35:36.000000000 -0500
@@ -185,7 +185,7 @@ struct zd_mac {
struct sk_buff_head ack_wait_queue;
struct ieee80211_channel channels[14];
@@ -13982,8 +13920,8 @@
/* Short preamble (used for RTS/CTS) */
unsigned int short_preamble:1;
diff -up linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c
---- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/zd1211rw/zd_mac.c 2008-03-04 19:35:36.000000000 -0500
@@ -34,76 +34,61 @@
/* This table contains the hardware specific values for the modulation rates. */
@@ -14226,8 +14164,8 @@
housekeeping_init(mac);
INIT_WORK(&mac->set_multicast_hash_work, set_multicast_hash_handler);
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig 2008-03-04 19:32:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c 2008-03-04 19:35:36.000000000 -0500
@@ -95,28 +95,29 @@ MODULE_DEVICE_TABLE(ssb, b43legacy_ssb_t
* data in there. This data is the same for all devices, so we don't
* get concurrency issues */
@@ -14868,8 +14806,8 @@
return 0;
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c
---- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/xmit.c 2008-03-04 19:35:36.000000000 -0500
@@ -37,45 +37,48 @@
@@ -15045,8 +14983,8 @@
default:
b43legacywarn(dev->wl, "Unexpected value for chanstat (0x%X)\n",
diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h
---- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/b43legacy.h 2008-03-04 19:35:36.000000000 -0500
@@ -130,13 +130,19 @@
#define B43legacy_SHM_SH_HOSTFHI 0x0060 /* Hostflags ucode opts (high) */
/* SHM_SHARED crypto engine */
@@ -15155,8 +15093,8 @@
struct b43legacy_firmware fw;
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_rtl8225.c 2008-03-04 19:35:36.000000000 -0500
@@ -261,8 +261,8 @@ static void rtl8225_rf_set_tx_power(stru
u32 reg;
int i;
@@ -15199,7 +15137,7 @@
if (conf->flags & IEEE80211_CONF_SHORT_SLOT_TIME) {
diff -up linux-2.6.24.noarch/drivers/net/wireless/p54.h.orig linux-2.6.24.noarch/drivers/net/wireless/p54.h
--- linux-2.6.24.noarch/drivers/net/wireless/p54.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/p54.h 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54.h 2008-03-04 19:35:36.000000000 -0500
@@ -64,10 +64,6 @@ struct p54_common {
unsigned int tx_hdr_len;
void *cached_vdcf;
@@ -15212,8 +15150,8 @@
};
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187_dev.c 2008-03-04 19:35:36.000000000 -0500
@@ -45,6 +45,38 @@ static struct usb_device_id rtl8187_tabl
MODULE_DEVICE_TABLE(usb, rtl8187_table);
@@ -15367,8 +15305,8 @@
eeprom_93cx6_read(&eeprom, RTL8187_EEPROM_TXPWR_BASE,
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h.orig linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h
---- linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl818x.h 2008-03-04 19:35:36.000000000 -0500
@@ -175,74 +175,4 @@ struct rtl818x_rf_ops {
void (*set_chan)(struct ieee80211_hw *, struct ieee80211_conf *);
};
@@ -15445,8 +15383,8 @@
-
#endif /* RTL818X_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/atmel.c.orig linux-2.6.24.noarch/drivers/net/wireless/atmel.c
---- linux-2.6.24.noarch/drivers/net/wireless/atmel.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/atmel.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/atmel.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/atmel.c 2008-03-04 19:35:36.000000000 -0500
@@ -66,6 +66,7 @@
#include <linux/device.h>
#include <linux/moduleparam.h>
@@ -15474,8 +15412,8 @@
priv->last_survey = jiffies;
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_grf5101.c 2008-03-04 19:35:36.000000000 -0500
@@ -73,8 +73,9 @@ static void grf5101_rf_set_channel(struc
struct ieee80211_conf *conf)
{
@@ -15489,8 +15427,8 @@
/* set TX power */
write_grf5101(dev, 0x15, 0x0);
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/dev.h 2008-03-04 19:35:36.000000000 -0500
@@ -143,9 +143,12 @@ struct lbs_private {
wait_queue_head_t waitq;
struct workqueue_struct *work_thread;
@@ -15513,8 +15451,8 @@
};
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.h 2008-03-04 19:35:36.000000000 -0500
@@ -7,6 +7,5 @@
void lbs_association_worker(struct work_struct *work);
@@ -15523,8 +15461,8 @@
#endif /* _LBS_ASSOC_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c 2008-03-04 19:35:36.000000000 -0500
@@ -985,6 +985,18 @@ out:
lbs_deb_leave(LBS_DEB_CMD);
}
@@ -15554,8 +15492,8 @@
sprintf(priv->mesh_ssid, "mesh");
priv->mesh_ssid_len = 4;
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/debugfs.c 2008-03-04 19:35:36.000000000 -0500
@@ -315,7 +315,7 @@ static ssize_t lbs_setuserscan(struct fi
lbs_scan_networks(priv, scan_cfg, 1);
@@ -15566,8 +15504,8 @@
if (priv->surpriseremoved)
goto out_scan_cfg;
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c 2008-03-04 19:35:36.000000000 -0500
@@ -1153,9 +1153,9 @@ static void lbs_submit_command(struct lb
command == CMD_802_11_AUTHENTICATE)
timeo = 10 * HZ;
@@ -15630,8 +15568,8 @@
}
EXPORT_SYMBOL_GPL(lbs_cmd_copyback);
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.h 2008-03-04 19:35:36.000000000 -0500
@@ -48,6 +48,4 @@ int lbs_send_deauthentication(struct lbs
int lbs_associate(struct lbs_private *priv, struct assoc_request *assoc_req);
@@ -15640,8 +15578,8 @@
-
#endif
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/join.c 2008-03-04 19:35:36.000000000 -0500
@@ -99,23 +99,6 @@ static void lbs_set_basic_rate_flags(u8
}
@@ -15677,8 +15615,8 @@
priv->NF[TYPE_RXPD][TYPE_AVG] = 0;
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/scan.c 2008-03-04 19:35:36.000000000 -0500
@@ -73,6 +73,23 @@ static const u8 bcastmac[ETH_ALEN] = { 0
/* */
/*********************************************************************/
@@ -15764,8 +15702,8 @@
/* Update RSSI if current BSS is a locally created ad-hoc BSS */
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig 2008-03-04 19:32:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c 2008-03-04 19:35:36.000000000 -0500
@@ -74,7 +74,7 @@ void lbs_mac_event_disconnected(struct l
lbs_deb_cmd("disconnected, so exit PS mode\n");
lbs_ps_wakeup(priv, 0);
@@ -15775,7 +15713,7 @@
}
/**
-@@ -568,9 +568,9 @@ int lbs_process_rx_command(struct lbs_pr
+@@ -566,9 +566,9 @@ int lbs_process_rx_command(struct lbs_pr
respcmd = le16_to_cpu(resp->command);
result = le16_to_cpu(resp->result);
@@ -15785,11 +15723,11 @@
- lbs_deb_hex(LBS_DEB_HOST, "CMD_RESP", (void *) resp, priv->upld_len);
+ lbs_deb_hex(LBS_DEB_CMD, "CMD_RESP", (void *) resp, priv->upld_len);
- if (resp->seqnum != resp->seqnum) {
+ if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) {
lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n",
diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/assoc.c 2008-03-04 19:35:36.000000000 -0500
@@ -181,17 +181,6 @@ int lbs_update_channel(struct lbs_privat
return ret;
}
@@ -15842,8 +15780,8 @@
lbs_prepare_and_send_command(priv,
CMD_802_11_RSSI,
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187.h 2008-03-04 19:35:36.000000000 -0500
@@ -71,7 +71,7 @@ struct rtl8187_priv {
/* rtl8187 specific */
struct ieee80211_channel channels[14];
@@ -15854,8 +15792,8 @@
u32 rx_conf;
u16 txpwr_base;
diff -up linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c
---- linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/prism54/isl_ioctl.c 2008-03-04 19:35:36.000000000 -0500
@@ -165,7 +165,7 @@ prism54_update_stats(struct work_struct
struct obj_bss bss, *bss2;
union oid_res_t r;
@@ -16045,8 +15983,8 @@
void
diff -up linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h.orig linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h
---- linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.h 2008-03-04 19:35:36.000000000 -0500
@@ -55,7 +55,7 @@ struct islpci_acl {
enum { MAC_POLICY_OPEN=0, MAC_POLICY_ACCEPT=1, MAC_POLICY_REJECT=2 } policy;
struct list_head mac_list; /* a list of mac_entry */
@@ -16075,8 +16013,8 @@
size_t wpa_ie_len;
diff -up linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/prism54/islpci_dev.c 2008-03-04 19:35:36.000000000 -0500
@@ -864,7 +864,7 @@ islpci_setup(struct pci_dev *pdev)
mutex_init(&priv->mgmt_lock);
priv->mgmt_received = NULL;
@@ -16087,8 +16025,8 @@
/* init state machine with off#1 state */
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8187_rtl8225.c 2008-03-04 19:35:36.000000000 -0500
@@ -283,8 +283,8 @@ static void rtl8225_rf_set_tx_power(stru
u32 reg;
int i;
@@ -16130,8 +16068,8 @@
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_dev.c 2008-03-04 19:35:36.000000000 -0500
@@ -49,6 +49,41 @@ static struct pci_device_id rtl8180_tabl
MODULE_DEVICE_TABLE(pci, rtl8180_table);
@@ -16313,8 +16251,8 @@
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180.h 2008-03-04 19:35:36.000000000 -0500
@@ -102,7 +102,7 @@ struct rtl8180_priv {
struct rtl8180_tx_ring tx_ring[4];
struct ieee80211_channel channels[14];
@@ -16325,8 +16263,8 @@
u32 rx_conf;
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-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/Kconfig.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/Kconfig 2008-03-04 19:35:36.000000000 -0500
@@ -146,12 +146,15 @@ config IPW2100
configure your card:
@@ -16394,8 +16332,8 @@
source "drivers/net/wireless/hostap/Kconfig"
source "drivers/net/wireless/bcm43xx/Kconfig"
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-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ipw2200.c 2008-03-04 19:35:36.000000000 -0500
@@ -10349,9 +10349,7 @@ static int ipw_tx_skb(struct ipw_priv *p
remaining_bytes,
PCI_DMA_TODEVICE));
@@ -16408,8 +16346,8 @@
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-commands.h 2008-03-04 19:35:36.000000000 -0500
@@ -515,14 +515,20 @@ struct iwl3945_qosparam_cmd {
#define STA_CONTROL_MODIFY_MSK 0x01
@@ -16447,8 +16385,8 @@
} __attribute__ ((packed));
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-commands.h 2008-03-04 19:35:36.000000000 -0500
@@ -727,14 +727,20 @@ struct iwl4965_qosparam_cmd {
#define STA_CONTROL_MODIFY_MSK 0x01
@@ -16524,8 +16462,8 @@
__le16 scd_ssn;
} __attribute__ ((packed));
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-io.h 2008-03-04 19:35:36.000000000 -0500
@@ -59,28 +59,28 @@
*
*/
@@ -16601,8 +16539,8 @@
#define iwl4965_poll_direct_bit _iwl4965_poll_direct_bit
#endif
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.c 2008-03-04 19:35:36.000000000 -0500
@@ -83,7 +83,7 @@ struct iwl4965_rate_scale_data {
/**
* struct iwl4965_scale_tbl_info -- tx params and success history for all rates
@@ -17324,8 +17262,8 @@
sta_info_put(sta);
return cnt;
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.c 2008-03-04 19:35:36.000000000 -0500
@@ -247,7 +247,7 @@ static void iwl3945_add_radiotap(struct
* the information provided in the skb from the hardware */
s8 signal = stats->ssi;
@@ -17455,8 +17393,8 @@
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl4965-base.c 2008-03-04 19:35:36.000000000 -0500
@@ -90,7 +90,7 @@ int iwl4965_param_amsdu_size_8K; /* de
#define VS
#endif
@@ -18842,8 +18780,8 @@
iwl4965_rate_control_register(priv->hw);
err = ieee80211_register_hw(priv->hw);
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.c 2008-03-04 19:35:36.000000000 -0500
@@ -79,6 +79,30 @@ const struct iwl4965_rate_info iwl4965_r
IWL_DECLARE_RATE_INFO(60, 60, 48, INV, 48, INV, 48, INV),/* 60mbps */
};
@@ -20064,8 +20002,8 @@
priv->statistics_periodic.data = (unsigned long)priv;
priv->statistics_periodic.function = iwl4965_bg_statistics_periodic;
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-rs.h 2008-03-04 19:35:36.000000000 -0500
@@ -212,6 +212,18 @@ enum {
#define LQ_SIZE 2 /* 2 mode tables: "Active" and "Search" */
@@ -20086,8 +20024,8 @@
enum iwl4965_table_type {
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/Kconfig 2008-03-04 19:35:36.000000000 -0500
@@ -24,18 +24,10 @@ config IWL4965
say M here and read <file:Documentation/kbuild/modules.txt>. The
module will be called iwl4965.ko.
@@ -20123,8 +20061,8 @@
bool "Enable Spectrum Measurement in iwl3945 drivers"
depends on IWL3945
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965-hw.h 2008-03-04 19:35:36.000000000 -0500
@@ -413,7 +413,6 @@ struct iwl4965_eeprom {
/*=== CSR (control and status registers) ===*/
#define CSR_BASE (0x000)
@@ -20134,8 +20072,8 @@
#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */
#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-4965.h 2008-03-04 19:35:36.000000000 -0500
@@ -206,7 +206,7 @@ struct iwl4965_channel_info {
u8 group_index; /* 0-4, maps channel to group1/2/3/4/5 */
@@ -20405,8 +20343,8 @@
/* Requires full declaration of iwl4965_priv before including */
#include "iwl-4965-io.h"
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945.h 2008-03-04 19:35:36.000000000 -0500
@@ -195,7 +195,7 @@ struct iwl3945_channel_info {
u8 group_index; /* 0-4, maps channel to group1/2/3/4/5 */
@@ -20506,8 +20444,8 @@
/* Requires full declaration of iwl3945_priv before including */
#include "iwl-3945-io.h"
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-io.h 2008-03-04 19:35:36.000000000 -0500
@@ -59,28 +59,28 @@
*
*/
@@ -20583,8 +20521,8 @@
#define iwl3945_poll_direct_bit _iwl3945_poll_direct_bit
#endif
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-hw.h 2008-03-04 19:35:36.000000000 -0500
@@ -324,7 +324,6 @@ struct iwl3945_eeprom {
/*=== CSR (control and status registers) ===*/
#define CSR_BASE (0x000)
@@ -20594,8 +20532,8 @@
#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */
#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-03-04 19:35:36.000000000 -0500
@@ -91,7 +91,7 @@ int iwl3945_param_queues_num = IWL_MAX_N
#define VS
#endif
@@ -21533,8 +21471,8 @@
iwl3945_rate_control_register(priv->hw);
err = ieee80211_register_hw(priv->hw);
diff -up linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
---- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/iwlwifi/iwl-3945-rs.c 2008-03-04 19:35:36.000000000 -0500
@@ -100,14 +100,6 @@ static struct iwl3945_tpt_entry iwl3945_
{-89, IWL_RATE_6M_INDEX}
};
@@ -21767,8 +21705,8 @@
IWL_DEBUG_RATE("leave: rssi %d assign rate index: "
"%d (plcp 0x%x)\n", rssi, rs_sta->start_rate,
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -22328,8 +22266,8 @@
/*
* TX descriptor initializer
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -22898,8 +22836,8 @@
+MODULE_DESCRIPTION("rt2x00 usb library");
MODULE_LICENSE("GPL");
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -22965,8 +22903,8 @@
#define MIN_TXPOWER 0
#define MAX_TXPOWER 31
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -24306,8 +24244,8 @@
return 0;
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -25057,7 +24995,7 @@
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Makefile.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Makefile
--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Makefile.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Makefile 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Makefile 2008-03-04 19:35:36.000000000 -0500
@@ -1,22 +1,17 @@
-rt2x00lib-objs := rt2x00dev.o rt2x00mac.o rt2x00config.o
+rt2x00lib-y += rt2x00dev.o
@@ -25098,8 +25036,8 @@
+obj-$(CONFIG_RT2500USB) += rt2500usb.o
+obj-$(CONFIG_RT73USB) += rt73usb.o
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -25937,8 +25875,8 @@
.hw = &rt2500usb_mac80211_ops,
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00lib.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -26071,8 +26009,8 @@
+
#endif /* RT2X00LIB_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -26166,8 +26104,8 @@
-
#endif /* RT2X00REG_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -26405,8 +26343,8 @@
if (flags & CONFIG_UPDATE_ANTENNA) {
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00usb.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -26638,8 +26576,8 @@
void rt2x00usb_uninitialize(struct rt2x00_dev *rt2x00dev);
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -26877,8 +26815,8 @@
debugfs_remove(intf->rf_off_entry);
debugfs_remove(intf->bbp_val_entry);
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00ring.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,290 +0,0 @@
-/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -27171,8 +27109,8 @@
-
-#endif /* RT2X00RING_H */
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.h
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.h 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.h 2008-03-04 19:35:36.000000000 -0500
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2004 - 2008 rt2x00 SourceForge Project
@@ -27238,8 +27176,8 @@
+
+#endif /* RT2X00LEDS_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00mac.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -27650,8 +27588,8 @@
return 0;
}
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00debug.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -27660,8 +27598,8 @@
This program is free software; you can redistribute it and/or modify
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -27759,8 +27697,8 @@
#define MIN_TXPOWER 0
#define MAX_TXPOWER 31
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -27786,8 +27724,8 @@
#define MIN_TXPOWER 31
#define MAX_TXPOWER 62
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.h 2008-03-04 19:35:36.000000000 -0500
@@ -0,0 +1,457 @@
+/*
+ Copyright (C) 2004 - 2008 rt2x00 SourceForge Project
@@ -28247,8 +28185,8 @@
+
+#endif /* RT2X00QUEUE_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -28285,8 +28223,8 @@
#define MIN_TXPOWER 0
#define MAX_TXPOWER 31
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -28306,8 +28244,8 @@
#define MIN_TXPOWER 0
#define MAX_TXPOWER 31
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00rfkill.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -28316,8 +28254,8 @@
This program is free software; you can redistribute it and/or modify
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dump.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -28347,7 +28285,7 @@
__le32 timestamp_sec;
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Kconfig
--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Kconfig.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Kconfig 2008-03-03 16:46:20.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/Kconfig 2008-03-04 19:35:36.000000000 -0500
@@ -5,29 +5,29 @@ config RT2X00
This will enable the experimental support for the Ralink drivers,
developed in the rt2x00 project <http://rt2x00.serialmonkey.com>.
@@ -28492,8 +28430,8 @@
+endif
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00firmware.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -28574,8 +28512,8 @@
retval = rt2x00lib_request_firmware(rt2x00dev);
if (retval)
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -29333,8 +29271,8 @@
.hw = &rt2500pci_mac80211_ops,
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.c
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.c 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00leds.c 2008-03-04 19:35:36.000000000 -0500
@@ -0,0 +1,217 @@
+/*
+ Copyright (C) 2004 - 2008 rt2x00 SourceForge Project
@@ -29554,8 +29492,8 @@
+ led_classdev_resume(&rt2x00dev->led_qual.led_dev);
+}
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00queue.c 2008-03-04 19:35:36.000000000 -0500
@@ -0,0 +1,299 @@
+/*
+ Copyright (C) 2004 - 2008 rt2x00 SourceForge Project
@@ -29857,8 +29795,8 @@
+ rt2x00dev->bcn = NULL;
+}
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -31022,8 +30960,8 @@
.hw = &rt61pci_mac80211_ops,
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -31474,8 +31412,8 @@
+MODULE_DESCRIPTION("rt2x00 pci library");
MODULE_LICENSE("GPL");
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00pci.h 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -31586,8 +31524,8 @@
/*
* Device initialization handlers.
diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-03-03 16:42:51.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-03-04 19:35:36.000000000 -0500
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2004 - 2007 rt2x00 SourceForge Project
@@ -32503,8 +32441,8 @@
.hw = &rt73usb_mac80211_ops,
#ifdef CONFIG_RT2X00_LIB_DEBUGFS
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/phy.c 2008-03-04 19:35:36.000000000 -0500
@@ -1018,7 +1018,7 @@ static int ath5k_hw_rf5111_rfregs(struct
int obdb = -1, bank = -1;
u32 ee_mode;
@@ -32711,8 +32649,8 @@
AR5K_PHY_PAPD_PROBE_TXPOWER) |
AR5K_PHY_PAPD_PROBE_TX_NEXT, AR5K_PHY_PAPD_PROBE);
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/ath5k.h 2008-03-04 19:35:36.000000000 -0500
@@ -30,7 +30,6 @@
#include <net/mac80211.h>
@@ -32910,8 +32848,8 @@
extern int ath5k_hw_get_capability(struct ath5k_hw *ah, enum ath5k_capability_type cap_type, u32 capability, u32 *result);
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Makefile 2008-03-04 19:35:36.000000000 -0500
@@ -1,2 +1,6 @@
-ath5k-objs = base.o hw.o regdom.o initvals.o phy.o debug.o
-obj-$(CONFIG_ATH5K) += ath5k.o
@@ -32922,8 +32860,8 @@
+ath5k-$(CONFIG_ATH5K_DEBUG) += debug.o
+obj-$(CONFIG_ATH5K) += ath5k.o
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.h 2008-03-04 19:35:36.000000000 -0500
@@ -61,11 +61,6 @@
#ifndef _ATH5K_DEBUG_H
#define _ATH5K_DEBUG_H
@@ -33000,8 +32938,8 @@
#endif /* ifndef _ATH5K_DEBUG_H */
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/hw.c 2008-03-04 19:35:36.000000000 -0500
@@ -140,9 +140,6 @@ struct ath5k_hw *ath5k_hw_attach(struct
* HW information
*/
@@ -33415,8 +33353,8 @@
/****************\
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c 2008-03-04 19:35:36.000000000 -0500
@@ -1317,8 +1317,10 @@ int ath5k_hw_write_initvals(struct ath5k
/* For AR5211 */
} else if (ah->ah_version == AR5K_AR5211) {
@@ -33431,8 +33369,8 @@
}
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig
---- /dev/null 2008-03-03 08:19:02.806638585 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig 2008-03-03 16:46:20.000000000 -0500
+--- /dev/null 2008-03-04 08:34:47.546307750 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig 2008-03-04 19:35:36.000000000 -0500
@@ -0,0 +1,37 @@
+config ATH5K
+ tristate "Atheros 5xxx wireless cards support"
@@ -33472,8 +33410,8 @@
+ modprobe ath5k debug=0x00000400
+
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c 2008-03-04 19:35:36.000000000 -0500
@@ -80,7 +80,7 @@ MODULE_AUTHOR("Nick Kossifidis");
MODULE_DESCRIPTION("Support for 5xxx series of Atheros 802.11 wireless LAN cards.");
MODULE_SUPPORTED_DEVICE("Atheros 5xxx WLAN cards");
@@ -34143,8 +34081,8 @@
case ALG_CCMP:
return -EOPNOTSUPP;
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c 2008-03-04 19:35:36.000000000 -0500
@@ -65,7 +65,7 @@ static unsigned int ath5k_debug;
module_param_named(debug, ath5k_debug, uint, 0);
@@ -34234,8 +34172,8 @@
-#endif /* if ATH5K_DEBUG */
+#endif /* ifdef CONFIG_ATH5K_DEBUG */
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h 2008-03-04 19:35:36.000000000 -0500
@@ -83,7 +83,7 @@ struct ath5k_txq {
#if CHAN_DEBUG
#define ATH_CHAN_MAX (26+26+26+200+200)
@@ -34281,8 +34219,8 @@
#define ath5k_hw_hasbssidmask(_ah) \
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig 2008-03-03 16:42:47.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c 2008-03-04 19:35:36.000000000 -0500
@@ -78,8 +78,9 @@ static void max2820_rf_set_channel(struc
struct ieee80211_conf *conf)
{
@@ -34296,8 +34234,8 @@
/* While philips SA2400 drive the PA bias from
diff -up linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.24.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-03-03 16:42:46.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-03-04 19:35:36.000000000 -0500
@@ -48,6 +48,32 @@ static struct pci_device_id adm8211_pci_
{ 0 }
};
@@ -34467,8 +34405,8 @@
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-03-03 16:42:48.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig 2008-03-04 19:28:32.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-03-04 19:35:36.000000000 -0500
@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
return 0;
}
@@ -34525,8 +34463,8 @@
.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-03-03 16:42:48.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig 2008-03-04 19:28:32.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-03-04 19:35:36.000000000 -0500
@@ -505,6 +505,14 @@ error:
return err;
}
@@ -34569,8 +34507,8 @@
.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-03-03 16:42:48.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-03-03 16:46:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig 2008-03-04 19:28:32.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-03-04 19:35:36.000000000 -0500
@@ -572,6 +572,19 @@ static inline int ssb_pci_assert_buspowe
}
#endif /* DEBUG */
@@ -34623,8 +34561,8 @@
.write32 = ssb_pci_write32,
};
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-03-03 16:42:48.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c 2008-03-03 16:47:32.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig 2008-03-04 19:28:32.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c 2008-03-04 19:35:36.000000000 -0500
@@ -353,6 +353,16 @@ void ssb_chipco_watchdog_timer_set(struc
chipco_write32(cc, SSB_CHIPCO_WATCHDOG, ticks);
}
linux-2.6-wireless.patch:
Index: linux-2.6-wireless.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/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 28 Feb 2008 02:06:24 -0000 1.25
+++ linux-2.6-wireless.patch 5 Mar 2008 01:09:02 -0000 1.26
@@ -1,706 +1,391 @@
-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
+commit c256e05b7b30fab484deacb4f8cff59ce649c75e
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Tue Mar 4 20:31:13 2008 +0100
- Use a separate config option for the b43 pci to ssb bridge.
+ b43legacy: Fix module init message
- 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.
+ This fixes the module init message to tell that the legacy
+ driver loaded. This makes it less confusing, in case both drivers are loaded.
- 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: Michael Buesch <mb at bu3sch.de>
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
+commit cdb2a9fe63575dd1eb82b724bbd0aa5e0dd89fa0
+Author: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
+Date: Tue Mar 4 20:05:27 2008 +0200
- 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.
+ rndis_wlan: fix broken data copy
- A couple of these unused exported symbols are static, which causes the
- following build error on ia64 with gcc 4.2.3:
+ Replace broken code that attempted to copy 6 byte array to 64-bit
+ integer. Due to missing cast to 64-bit integer, left shift operation
+ were 32-bit and lead to bytes been copied over each other. New code
+ uses simple memcpy, for greater readability and efficiency.
- 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: Jussi Kivilinna <jussi.kivilinna at mbnet.fi>
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
+commit 8a96df80b3ddb2410045a26ea19eeccb5f2d2d11
+Author: Sebastian Siewior <bigeasy at tglx.de>
+Date: Tue Mar 4 18:22:27 2008 +0100
- mac80211: fix kmalloc vs. net_ratelimit
+ libertas: compare the current command with response
- The "goto end;" part definitely must not be rate limited.
+ instead of with itself.
- Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: Sebastian Siewior <bigeasy at linutronix.de>
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
+commit 6305f498604df6c66bdb4cc533ce6332fa5ab61f
+Author: David Woodhouse <dwmw2 at infradead.org>
+Date: Mon Mar 3 12:20:12 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.
+ libertas: fix sanity check on sequence number in command response
- Reorder the things that should be done during a
- link tuner reset and during a link tuner start.
+ Slightly more useful if we compare it against the sequence number of the
+ command we have outstanding, rather than comparing the reply with itself.
- 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.
+ Doh. Pointed out by Sebastian Siewior
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
+ Acked-by: Dan Williams <dcbw at redhat.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
+commit c2f2d3a06f8b628d444cf4f396d6c6ddd47e1d1f
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Fri Feb 29 23:28:25 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.
+ p54: fix eeprom parser length sanity checks
- 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).
+ When I called p54_parse_eeprom() on a hand-coded structure
+ I managed to make a small mistake with wrap->len which caused
+ a segfault a few lines down when trying to read entry->len.
+ This patch changes the validation code to avoid such problems.
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Tested-by: Florian Fainelli <florian.fainelli at telecomint.eu>
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
+commit 8c28293f5514f64ba064bac7946aebeda4a663c6
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Fri Feb 29 13:56:33 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.
+ p54: fix EEPROM structure endianness
- 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...
+ Since the EEPROM structure is read from hardware, it is
+ always little endian, annotate that in the struct and
+ make sure to convert where applicable.
- Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 57b7ed05c7e68e1b14cc7da232cba2967fb670a7
-Author: Sebastian Siewior <linux+wireless at ml.breakpoint.cc>
-Date: Sat Feb 23 21:46:31 2008 +0100
-
- gelic wireless driver needs WIRELESS_EXT support
-
- | CC drivers/net/ps3_gelic_wireless.o
- | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c: In function 'gelic_wl_setup_netdev_ops':
- | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2660: error: 'struct net_device' has no member named 'wireless_data'
- | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2661: error: 'struct net_device' has no member named 'wireless_handlers'
- | make[3]: *** [drivers/net/ps3_gelic_wireless.o] Error 1
- | make[2]: *** [drivers/net] Error 2
- | make[1]: *** [drivers] Error 2
- | make[1]: *** Waiting for unfinished jobs....
- | make: *** [sub-make] Error 2
-
- Signed-off-by: Sebastian Siewior <sebastian at breakpoint.cc>
- Acked-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Cc: Michael Wu <flamingice at sourmilk.net>
+ Tested-by: Florian Fainelli <florian.fainelli at telecomint.eu>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 3da83bba86f2aef628919469db5707db6a785868
-Author: Masakazu Mokuno <mokuno at sm.sony.co.jp>
-Date: Fri Feb 22 16:45:26 2008 +0900
+commit dc63644b0ee3b447e879ef8e124657b40e9ea81c
+Author: Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
+Date: Fri Feb 29 11:09:31 2008 +0100
- PS3: gelic: Link the wireless net_device structure to the corresponding device structure
-
- Link the net_device structure of the wireless part to the
- corresponding device structure.
+ ssb: Add pcibios_enable_device() return value check
- Without this, the sysfs node for this net_device would not have
- 'device' link.
+ This patch has added pcibios_enable_device() return value check.
- Signed-off-by: Masakazu Mokuno <mokuno at sm.sony.co.jp>
- Acked-by: Dan Williams <dcbw at redhat.com>
+ Signed-off-by: Yoichi Yuasa <yoichi_yuasa at tripeaks.co.jp>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
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
+commit 1d60ab0574fae362b1cca0ef52181ef75fd46832
+Author: Stefano Brivio <stefano.brivio at polimi.it>
+Date: Sun Mar 2 11:33:10 2008 +0100
- rndis_wlan: fix sparse warnings
+ rc80211-pid: fix rate adjustment
- It is obviously wrong to use an enum in a little endian struct,
- and those other enums should be declared differently.
+ Merge rate_control_pid_shift_adjust() to rate_control_pid_adjust_rate()
+ in order to make the learning algorithm aware of constraints on rates. Also
+ add some comments and rename variables.
- 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).
+ This fixes a bug which prevented 802.11b/g non-AP STAs from working with
+ 802.11b only AP STAs.
- Signed-off-by: Gordon Farquharson <gordonfarquharson at gmail.com>
- Acked-by: Michael Buesch <mb at bu3sch.de>
+ This patch was originally destined for 2.6.26, and is being backported
+ to fix a user reported problem in post-2.6.24 kernels.
+
+ Signed-off-by: Stefano Brivio <stefano.brivio at polimi.it>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-diff -up linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig linux-2.6.24.noarch/include/linux/mod_devicetable.h
---- linux-2.6.24.noarch/include/linux/mod_devicetable.h.orig 2008-02-27 20:46:37.000000000 -0500
-+++ linux-2.6.24.noarch/include/linux/mod_devicetable.h 2008-02-27 20:47:51.000000000 -0500
-@@ -351,7 +351,13 @@ struct sdio_device_id {
- struct ssb_device_id {
- __u16 vendor;
- __u16 coreid;
-- __u8 revision;
-+ /* Explicit padding to support a broken sanity check in file2alias.c.
-+ * The check compares the size of the structure in the kernel
-+ * object file to the size of the structure reported in userspace for
-+ * the system on which the kernel is compiled. The check breaks on
-+ * cross-compilation, and the padding is a workaround for this. */
-+ __u8 revision
-+ __attribute__((aligned(sizeof(__u32))));
- };
- #define SSB_DEVICE(_vendor, _coreid, _revision) \
- { .vendor = _vendor, .coreid = _coreid, .revision = _revision, }
-diff -up linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c
---- linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c.orig 2008-02-27 20:46:37.000000000 -0500
-+++ linux-2.6.24.noarch/net/mac80211/ieee80211_sta.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1116,9 +1116,10 @@ static void ieee80211_sta_process_addba_
- /* prepare reordering buffer */
- tid_agg_rx->reorder_buf =
- kmalloc(buf_size * sizeof(struct sk_buf *), GFP_ATOMIC);
-- if ((!tid_agg_rx->reorder_buf) && net_ratelimit()) {
-- printk(KERN_ERR "can not allocate reordering buffer "
-- "to tid %d\n", tid);
-+ if (!tid_agg_rx->reorder_buf) {
-+ if (net_ratelimit())
-+ printk(KERN_ERR "can not allocate reordering buffer "
-+ "to tid %d\n", tid);
- goto end;
- }
- memset(tid_agg_rx->reorder_buf, 0,
-diff -up linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c.orig linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c
---- linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/ps3_gelic_wireless.c 2008-02-27 20:47:51.000000000 -0500
-@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_c
- return -ENOMEM;
-
- /* setup net_device structure */
-+ SET_NETDEV_DEV(netdev, &card->dev->core);
- gelic_wl_setup_netdev_ops(netdev);
-
- /* setup some of net_device and register it */
-diff -up linux-2.6.24.noarch/drivers/net/Kconfig.orig linux-2.6.24.noarch/drivers/net/Kconfig
---- linux-2.6.24.noarch/drivers/net/Kconfig.orig 2008-02-27 20:46:43.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/Kconfig 2008-02-27 20:47:51.000000000 -0500
-@@ -2374,6 +2374,7 @@ config GELIC_NET
- config GELIC_WIRELESS
- bool "PS3 Wireless support"
- depends on GELIC_NET
-+ select WIRELESS_EXT
- help
- This option adds the support for the wireless feature of PS3.
- If you have the wireless-less model of PS3 or have no plan to
-diff -up linux-2.6.24.noarch/drivers/net/wireless/b43/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/b43/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/b43/Kconfig.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43/Kconfig 2008-02-27 20:47:51.000000000 -0500
-@@ -32,6 +32,7 @@ config B43_PCI_AUTOSELECT
- bool
- depends on B43 && SSB_PCIHOST_POSSIBLE
- select SSB_PCIHOST
-+ select SSB_B43_PCI_BRIDGE
- default y
-
- # Auto-select SSB PCICORE driver, if possible
-diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/Kconfig.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/Kconfig 2008-02-27 20:47:51.000000000 -0500
-@@ -25,6 +25,7 @@ config B43LEGACY_PCI_AUTOSELECT
- bool
- depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
- select SSB_PCIHOST
-+ select SSB_B43_PCI_BRIDGE
- default y
-
- # Auto-select SSB PCICORE driver, if possible
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c
---- linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c 2008-02-27 20:47:51.000000000 -0500
-@@ -228,9 +228,9 @@ struct NDIS_WLAN_BSSID_EX {
- 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];
-@@ -279,11 +279,11 @@ struct RNDIS_CONFIG_PARAMETER_INFOBUFFER
- } __attribute__((packed));
+diff -up linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c
+--- linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c.orig 2008-03-04 19:28:35.000000000 -0500
++++ linux-2.6.24.noarch/net/mac80211/rc80211_pid_algo.c 2008-03-04 19:30:56.000000000 -0500
+@@ -2,7 +2,7 @@
+ * Copyright 2002-2005, Instant802 Networks, Inc.
+ * Copyright 2005, Devicescape Software, Inc.
+ * Copyright 2007, Mattias Nissler <mattias.nissler at gmx.de>
+- * Copyright 2007, Stefano Brivio <stefano.brivio at polimi.it>
++ * Copyright 2007-2008, Stefano Brivio <stefano.brivio at polimi.it>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+@@ -63,72 +63,66 @@
+ * RC_PID_ARITH_SHIFT.
+ */
- /* 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
-diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/main.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1351,8 +1351,6 @@ done:
- lbs_deb_leave_args(LBS_DEB_MESH, "ret %d", ret);
- return ret;
- }
--EXPORT_SYMBOL_GPL(lbs_add_mesh);
-
-
- static void lbs_remove_mesh(struct lbs_private *priv)
- {
-@@ -1372,7 +1370,6 @@ static void lbs_remove_mesh(struct lbs_p
- free_netdev(mesh_dev);
- lbs_deb_leave(LBS_DEB_MESH);
- }
--EXPORT_SYMBOL_GPL(lbs_remove_mesh);
-
- /**
- * @brief This function finds the CFP in
-@@ -1458,20 +1455,6 @@ void lbs_interrupt(struct lbs_private *p
- }
- EXPORT_SYMBOL_GPL(lbs_interrupt);
-
--int lbs_reset_device(struct lbs_private *priv)
+-/* Shift the adjustment so that we won't switch to a lower rate if it exhibited
+- * a worse failed frames behaviour and we'll choose the highest rate whose
+- * failed frames behaviour is not worse than the one of the original rate
+- * target. While at it, check that the adjustment is within the ranges. Then,
+- * provide the new rate index. */
+-static int rate_control_pid_shift_adjust(struct rc_pid_rateinfo *r,
+- int adj, int cur, int l)
-{
-- int ret;
+- int i, j, k, tmp;
+-
+- j = r[cur].rev_index;
+- i = j + adj;
-
-- lbs_deb_enter(LBS_DEB_MAIN);
-- ret = lbs_prepare_and_send_command(priv, CMD_802_11_RESET,
-- CMD_ACT_HALT, 0, 0, NULL);
-- msleep_interruptible(10);
+- if (i < 0)
+- return r[0].index;
+- if (i >= l - 1)
+- return r[l - 1].index;
-
-- lbs_deb_leave_args(LBS_DEB_MAIN, "ret %d", ret);
-- return ret;
+- tmp = i;
+-
+- if (adj < 0) {
+- for (k = j; k >= i; k--)
+- if (r[k].diff <= r[j].diff)
+- tmp = k;
+- } else {
+- for (k = i + 1; k + i < l; k++)
+- if (r[k].diff <= r[i].diff)
+- tmp = k;
+- }
+-
+- return r[tmp].index;
-}
--EXPORT_SYMBOL_GPL(lbs_reset_device);
-
- static int __init lbs_init_module(void)
++/* Adjust the rate while ensuring that we won't switch to a lower rate if it
++ * exhibited a worse failed frames behaviour and we'll choose the highest rate
++ * whose failed frames behaviour is not worse than the one of the original rate
++ * target. While at it, check that the new rate is valid. */
+ static void rate_control_pid_adjust_rate(struct ieee80211_local *local,
+ struct sta_info *sta, int adj,
+ struct rc_pid_rateinfo *rinfo)
{
- lbs_deb_enter(LBS_DEB_MAIN);
-diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmd.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *
- lbs_deb_leave(LBS_DEB_CMD);
- return ret;
- }
--EXPORT_SYMBOL_GPL(lbs_mesh_access);
+ struct ieee80211_sub_if_data *sdata;
+ struct ieee80211_hw_mode *mode;
+- int newidx;
+- int maxrate;
+- int back = (adj > 0) ? 1 : -1;
++ int cur_sorted, new_sorted, probe, tmp, n_bitrates;
++ int cur = sta->txrate;
+
+ sdata = IEEE80211_DEV_TO_SUB_IF(sta->dev);
+
+ mode = local->oper_hw_mode;
+- maxrate = sdata->bss ? sdata->bss->max_ratectrl_rateidx : -1;
++ n_bitrates = mode->num_rates;
+
+- newidx = rate_control_pid_shift_adjust(rinfo, adj, sta->txrate,
+- mode->num_rates);
++ /* Map passed arguments to sorted values. */
++ cur_sorted = rinfo[cur].rev_index;
++ new_sorted = cur_sorted + adj;
++
++ /* Check limits. */
++ if (new_sorted < 0)
++ new_sorted = rinfo[0].rev_index;
++ else if (new_sorted >= n_bitrates)
++ new_sorted = rinfo[n_bitrates - 1].rev_index;
+
+- while (newidx != sta->txrate) {
+- if (rate_supported(sta, mode, newidx) &&
+- (maxrate < 0 || newidx <= maxrate)) {
+- sta->txrate = newidx;
+- break;
+- }
++ tmp = new_sorted;
+
+- newidx += back;
++ if (adj < 0) {
++ /* Ensure that the rate decrease isn't disadvantageous. */
++ for (probe = cur_sorted; probe >= new_sorted; probe--)
++ if (rinfo[probe].diff <= rinfo[cur_sorted].diff &&
++ rate_supported(sta, mode, rinfo[probe].index))
++ tmp = probe;
++ } else {
++ /* Look for rate increase with zero (or below) cost. */
++ for (probe = new_sorted + 1; probe < n_bitrates; probe++)
++ if (rinfo[probe].diff <= rinfo[new_sorted].diff &&
++ rate_supported(sta, mode, rinfo[probe].index))
++ tmp = probe;
+ }
- int lbs_mesh_config(struct lbs_private *priv, uint16_t enable, uint16_t chan)
- {
-@@ -1576,7 +1575,6 @@ done:
- lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret);
- return ret;
++ /* Fit the rate found to the nearest supported rate. */
++ do {
++ if (rate_supported(sta, mode, rinfo[tmp].index)) {
++ sta->txrate = rinfo[tmp].index;
++ break;
++ }
++ if (adj < 0)
++ tmp--;
++ else
++ tmp++;
++ } while (tmp < n_bitrates && tmp >= 0);
++
+ #ifdef CONFIG_MAC80211_DEBUGFS
+ rate_control_pid_event_rate_change(
+ &((struct rc_pid_sta_info *)sta->rate_ctrl_priv)->events,
+- newidx, mode->rates[newidx].rate);
++ cur, mode->rates[cur].rate);
+ #endif
}
--EXPORT_SYMBOL_GPL(lbs_prepare_and_send_command);
- /**
- * @brief This function allocates the command buffer and link
-diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/decl.h.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/decl.h
---- linux-2.6.24.noarch/drivers/net/wireless/libertas/decl.h.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/libertas/decl.h 2008-02-27 20:47:51.000000000 -0500
-@@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *c
- int lbs_remove_card(struct lbs_private *priv);
- int lbs_start_card(struct lbs_private *priv);
- int lbs_stop_card(struct lbs_private *priv);
--int lbs_reset_device(struct lbs_private *priv);
- void lbs_host_to_card_done(struct lbs_private *priv);
-
- int lbs_update_channel(struct lbs_private *priv);
-diff -up linux-2.6.24.noarch/drivers/net/wireless/bcm43xx/Kconfig.orig linux-2.6.24.noarch/drivers/net/wireless/bcm43xx/Kconfig
---- linux-2.6.24.noarch/drivers/net/wireless/bcm43xx/Kconfig.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/bcm43xx/Kconfig 2008-02-27 20:47:51.000000000 -0500
-@@ -1,6 +1,6 @@
- config BCM43XX
- tristate "Broadcom BCM43xx wireless support (DEPRECATED)"
-- depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && WLAN_80211 && EXPERIMENTAL
-+ depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && WLAN_80211 && (!SSB_B43_PCI_BRIDGE || SSB != y) && EXPERIMENTAL
- select WIRELESS_EXT
- select FW_LOADER
- select HW_RANDOM
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00dev.c 2008-02-27 20:47:51.000000000 -0500
-@@ -61,11 +61,33 @@ EXPORT_SYMBOL_GPL(rt2x00lib_get_ring);
- /*
- * Link tuning handlers
- */
--static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
-+void rt2x00lib_reset_link_tuner(struct rt2x00_dev *rt2x00dev)
- {
-+ if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
-+ return;
+diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.h
+--- linux-2.6.24.noarch/drivers/net/wireless/p54common.h.orig 2008-01-24 17:58:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54common.h 2008-03-04 19:30:56.000000000 -0500
+@@ -53,10 +53,10 @@ struct pda_entry {
+ } __attribute__ ((packed));
+
+ struct eeprom_pda_wrap {
+- u32 magic;
+- u16 pad;
+- u16 len;
+- u32 arm_opcode;
++ __le32 magic;
++ __le16 pad;
++ __le16 len;
++ __le32 arm_opcode;
+ u8 data[0];
+ } __attribute__ ((packed));
+
+diff -up linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig linux-2.6.24.noarch/drivers/net/wireless/p54common.c
+--- linux-2.6.24.noarch/drivers/net/wireless/p54common.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/p54common.c 2008-03-04 19:30:56.000000000 -0500
+@@ -166,18 +166,23 @@ int p54_parse_eeprom(struct ieee80211_hw
+ struct p54_common *priv = dev->priv;
+ struct eeprom_pda_wrap *wrap = NULL;
+ struct pda_entry *entry;
+- int i = 0;
+ unsigned int data_len, entry_len;
+ void *tmp;
+ int err;
++ u8 *end = (u8 *)eeprom + len;
+
+ wrap = (struct eeprom_pda_wrap *) eeprom;
+- entry = (void *)wrap->data + wrap->len;
+- i += 2;
+- i += le16_to_cpu(entry->len)*2;
+- while (i < len) {
++ entry = (void *)wrap->data + le16_to_cpu(wrap->len);
+
-+ /*
-+ * Reset link information.
-+ * Both the currently active vgc level as well as
-+ * the link tuner counter should be reset. Resetting
-+ * the counter is important for devices where the
-+ * device should only perform link tuning during the
-+ * first minute after being enabled.
-+ */
- rt2x00dev->link.count = 0;
- rt2x00dev->link.vgc_level = 0;
-
-+ /*
-+ * Reset the link tuner.
-+ */
-+ rt2x00dev->ops->lib->reset_tuner(rt2x00dev);
-+}
++ /* verify that at least the entry length/code fits */
++ while ((u8 *)entry <= end - sizeof(*entry)) {
+ entry_len = le16_to_cpu(entry->len);
+ data_len = ((entry_len - 1) << 1);
+
-+static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
-+{
-+ /*
-+ * Clear all (possibly) pre-existing quality statistics.
-+ */
- memset(&rt2x00dev->link.qual, 0, sizeof(rt2x00dev->link.qual));
-
- /*
-@@ -79,10 +101,7 @@ static void rt2x00lib_start_link_tuner(s
- rt2x00dev->link.qual.rx_percentage = 50;
- rt2x00dev->link.qual.tx_percentage = 50;
-
-- /*
-- * Reset the link tuner.
-- */
-- rt2x00dev->ops->lib->reset_tuner(rt2x00dev);
-+ rt2x00lib_reset_link_tuner(rt2x00dev);
-
- queue_delayed_work(rt2x00dev->hw->workqueue,
- &rt2x00dev->link.work, LINK_TUNE_INTERVAL);
-@@ -93,15 +112,6 @@ static void rt2x00lib_stop_link_tuner(st
- cancel_delayed_work_sync(&rt2x00dev->link.work);
- }
-
--void rt2x00lib_reset_link_tuner(struct rt2x00_dev *rt2x00dev)
--{
-- if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
-- return;
--
-- rt2x00lib_stop_link_tuner(rt2x00dev);
-- rt2x00lib_start_link_tuner(rt2x00dev);
--}
--
- /*
- * Ring initialization
- */
-@@ -260,19 +270,11 @@ static void rt2x00lib_evaluate_antenna_s
- if (sample_a == sample_b)
- return;
-
-- if (rt2x00dev->link.ant.flags & ANTENNA_RX_DIVERSITY) {
-- if (sample_a > sample_b && rx == ANTENNA_B)
-- rx = ANTENNA_A;
-- else if (rx == ANTENNA_A)
-- rx = ANTENNA_B;
-- }
-+ if (rt2x00dev->link.ant.flags & ANTENNA_RX_DIVERSITY)
-+ rx = (sample_a > sample_b) ? ANTENNA_A : ANTENNA_B;
++ /* abort if entry exceeds whole structure */
++ if ((u8 *)entry + sizeof(*entry) + data_len > end)
++ break;
++
+ switch (le16_to_cpu(entry->code)) {
+ case PDR_MAC_ADDRESS:
+ SET_IEEE80211_PERM_ADDR(dev, entry->data);
+@@ -249,13 +254,12 @@ int p54_parse_eeprom(struct ieee80211_hw
+ priv->version = *(u8 *)(entry->data + 1);
+ break;
+ case PDR_END:
+- i = len;
++ /* make it overrun */
++ entry_len = len;
+ break;
+ }
+
+ entry = (void *)entry + (entry_len + 1)*2;
+- i += 2;
+- i += entry_len*2;
+ }
-- if (rt2x00dev->link.ant.flags & ANTENNA_TX_DIVERSITY) {
-- if (sample_a > sample_b && tx == ANTENNA_B)
-- tx = ANTENNA_A;
-- else if (tx == ANTENNA_A)
-- tx = ANTENNA_B;
-- }
-+ if (rt2x00dev->link.ant.flags & ANTENNA_TX_DIVERSITY)
-+ tx = (sample_a > sample_b) ? ANTENNA_A : ANTENNA_B;
+ if (!priv->iq_autocal || !priv->output_limit || !priv->curve_data) {
+diff -up linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c
+--- linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/b43legacy/main.c 2008-03-04 19:30:56.000000000 -0500
+@@ -3829,7 +3829,7 @@ static void b43legacy_print_driverinfo(v
+ #ifdef CONFIG_B43LEGACY_DMA
+ feat_dma = "D";
+ #endif
+- printk(KERN_INFO "Broadcom 43xx driver loaded "
++ printk(KERN_INFO "Broadcom 43xx-legacy driver loaded "
+ "[ Features: %s%s%s%s%s, Firmware-ID: "
+ B43legacy_SUPPORTED_FIRMWARE_ID " ]\n",
+ feat_pci, feat_leds, feat_rfkill, feat_pio, feat_dma);
+diff -up linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c
+--- linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c.orig 2008-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rndis_wlan.c 2008-03-04 19:30:56.000000000 -0500
+@@ -260,7 +260,7 @@ struct NDIS_802_11_KEY {
+ __le32 KeyLength;
+ u8 Bssid[6];
+ u8 Padding[6];
+- __le64 KeyRSC;
++ u8 KeyRSC[8];
+ u8 KeyMaterial[32];
+ } __attribute__((packed));
- rt2x00lib_config_antenna(rt2x00dev, rx, tx);
- }
-@@ -293,7 +295,7 @@ static void rt2x00lib_evaluate_antenna_e
- * sample the rssi from the other antenna to make a valid
- * comparison between the 2 antennas.
- */
-- if ((rssi_curr - rssi_old) > -5 || (rssi_curr - rssi_old) < 5)
-+ if (abs(rssi_curr - rssi_old) < 5)
- return;
-
- rt2x00dev->link.ant.flags |= ANTENNA_MODE_SAMPLE;
-@@ -319,15 +321,15 @@ static void rt2x00lib_evaluate_antenna(s
- rt2x00dev->link.ant.flags &= ~ANTENNA_TX_DIVERSITY;
-
- if (rt2x00dev->hw->conf.antenna_sel_rx == 0 &&
-- rt2x00dev->default_ant.rx != ANTENNA_SW_DIVERSITY)
-+ rt2x00dev->default_ant.rx == ANTENNA_SW_DIVERSITY)
- rt2x00dev->link.ant.flags |= ANTENNA_RX_DIVERSITY;
- if (rt2x00dev->hw->conf.antenna_sel_tx == 0 &&
-- rt2x00dev->default_ant.tx != ANTENNA_SW_DIVERSITY)
-+ rt2x00dev->default_ant.tx == ANTENNA_SW_DIVERSITY)
- rt2x00dev->link.ant.flags |= ANTENNA_TX_DIVERSITY;
-
- if (!(rt2x00dev->link.ant.flags & ANTENNA_RX_DIVERSITY) &&
- !(rt2x00dev->link.ant.flags & ANTENNA_TX_DIVERSITY)) {
-- rt2x00dev->link.ant.flags &= ~ANTENNA_MODE_SAMPLE;
-+ rt2x00dev->link.ant.flags = 0;
- return;
+@@ -1508,7 +1508,7 @@ static int rndis_iw_set_encode_ext(struc
+ struct usbnet *usbdev = dev->priv;
+ struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev);
+ struct NDIS_802_11_KEY ndis_key;
+- int i, keyidx, ret;
++ int keyidx, ret;
+ u8 *addr;
+
+ keyidx = wrqu->encoding.flags & IW_ENCODE_INDEX;
+@@ -1543,9 +1543,7 @@ static int rndis_iw_set_encode_ext(struc
+ ndis_key.KeyIndex = cpu_to_le32(keyidx);
+
+ if (ext->ext_flags & IW_ENCODE_EXT_RX_SEQ_VALID) {
+- for (i = 0; i < 6; i++)
+- ndis_key.KeyRSC |=
+- cpu_to_le64(ext->rx_seq[i] << (i * 8));
++ memcpy(ndis_key.KeyRSC, ext->rx_seq, 6);
+ ndis_key.KeyIndex |= cpu_to_le32(1 << 29);
}
-@@ -441,17 +443,18 @@ static void rt2x00lib_link_tuner(struct
- rt2x00dev->ops->lib->link_tuner(rt2x00dev);
+diff -up linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c
+--- linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c.orig 2008-03-04 19:28:31.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/libertas/cmdresp.c 2008-03-04 19:30:56.000000000 -0500
+@@ -562,9 +562,7 @@ int lbs_process_rx_command(struct lbs_pr
+ }
- /*
-- * Evaluate antenna setup.
-- */
-- rt2x00lib_evaluate_antenna(rt2x00dev);
+ resp = (void *)priv->upld_buf;
-
-- /*
- * Precalculate a portion of the link signal which is
- * in based on the tx/rx success/failure counters.
- */
- rt2x00lib_precalculate_link_signal(&rt2x00dev->link.qual);
-
- /*
-+ * Evaluate antenna setup, make this the last step since this could
-+ * possibly reset some statistics.
-+ */
-+ rt2x00lib_evaluate_antenna(rt2x00dev);
-+
-+ /*
- * Increase tuner counter, and reschedule the next link tuner run.
- */
- rt2x00dev->link.count++;
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2400pci.c 2008-02-27 20:47:51.000000000 -0500
-@@ -960,8 +960,12 @@ static int rt2400pci_set_device_state(st
- rt2400pci_disable_radio(rt2x00dev);
- break;
- case STATE_RADIO_RX_ON:
-+ case STATE_RADIO_RX_ON_LINK:
-+ rt2400pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ break;
- case STATE_RADIO_RX_OFF:
-- rt2400pci_toggle_rx(rt2x00dev, state);
-+ case STATE_RADIO_RX_OFF_LINK:
-+ rt2400pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
- break;
- case STATE_DEEP_SLEEP:
- case STATE_SLEEP:
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500usb.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1001,8 +1001,12 @@ static int rt2500usb_set_device_state(st
- rt2500usb_disable_radio(rt2x00dev);
- break;
- case STATE_RADIO_RX_ON:
-+ case STATE_RADIO_RX_ON_LINK:
-+ rt2500usb_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ break;
- case STATE_RADIO_RX_OFF:
-- rt2500usb_toggle_rx(rt2x00dev, state);
-+ case STATE_RADIO_RX_OFF_LINK:
-+ rt2500usb_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
- break;
- case STATE_DEEP_SLEEP:
- case STATE_SLEEP:
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h.orig 2008-01-24 17:58:37.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00reg.h 2008-02-27 20:47:51.000000000 -0500
-@@ -85,6 +85,8 @@ enum dev_state {
- STATE_RADIO_OFF,
- STATE_RADIO_RX_ON,
- STATE_RADIO_RX_OFF,
-+ STATE_RADIO_RX_ON_LINK,
-+ STATE_RADIO_RX_OFF_LINK,
- STATE_RADIO_IRQ_ON,
- STATE_RADIO_IRQ_OFF,
- };
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2x00config.c 2008-02-27 20:47:51.000000000 -0500
-@@ -97,12 +97,16 @@ void rt2x00lib_config_antenna(struct rt2
- libconf.ant.rx = rx;
- libconf.ant.tx = tx;
-
-+ if (rx == rt2x00dev->link.ant.active.rx &&
-+ tx == rt2x00dev->link.ant.active.tx)
+- curcmd = le16_to_cpu(resp->command);
+-
++ curcmd = le16_to_cpu(priv->cur_cmd->cmdbuf->command);
+ respcmd = le16_to_cpu(resp->command);
+ result = le16_to_cpu(resp->result);
+
+@@ -572,9 +570,9 @@ int lbs_process_rx_command(struct lbs_pr
+ respcmd, le16_to_cpu(resp->seqnum), priv->upld_len, jiffies);
+ lbs_deb_hex(LBS_DEB_HOST, "CMD_RESP", (void *) resp, priv->upld_len);
+
+- if (resp->seqnum != resp->seqnum) {
++ if (resp->seqnum != priv->cur_cmd->cmdbuf->seqnum) {
+ lbs_pr_info("Received CMD_RESP with invalid sequence %d (expected %d)\n",
+- le16_to_cpu(resp->seqnum), le16_to_cpu(resp->seqnum));
++ le16_to_cpu(resp->seqnum), le16_to_cpu(priv->cur_cmd->cmdbuf->seqnum));
+ spin_unlock_irqrestore(&priv->driver_lock, flags);
+ ret = -1;
+ goto done;
+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-03-04 19:28:37.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_pcicore.c 2008-03-04 19:30:56.000000000 -0500
+@@ -111,7 +111,10 @@ static void __init ssb_fixup_pcibridge(s
+
+ /* Enable PCI bridge bus mastering and memory space */
+ pci_set_master(dev);
+- pcibios_enable_device(dev, ~0);
++ if (pcibios_enable_device(dev, ~0) < 0) {
++ ssb_printk(KERN_ERR "PCI: SSB bridge enable failed\n");
+ return;
-+
- /*
- * Antenna setup changes require the RX to be disabled,
- * else the changes will be ignored by the device.
- */
- if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
-- rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
-+ rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF_LINK);
-
- /*
- * Write new antenna setup to device and reset the link tuner.
-@@ -116,7 +120,7 @@ void rt2x00lib_config_antenna(struct rt2
- rt2x00dev->link.ant.active.tx = libconf.ant.tx;
-
- if (test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
-- rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ rt2x00lib_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON_LINK);
- }
++ }
- void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt2500pci.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1112,8 +1112,12 @@ static int rt2500pci_set_device_state(st
- rt2500pci_disable_radio(rt2x00dev);
- break;
- case STATE_RADIO_RX_ON:
-+ case STATE_RADIO_RX_ON_LINK:
-+ rt2500pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ break;
- case STATE_RADIO_RX_OFF:
-- rt2500pci_toggle_rx(rt2x00dev, state);
-+ case STATE_RADIO_RX_OFF_LINK:
-+ rt2500pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
- break;
- case STATE_DEEP_SLEEP:
- case STATE_SLEEP:
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt61pci.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1482,8 +1482,12 @@ static int rt61pci_set_device_state(stru
- rt61pci_disable_radio(rt2x00dev);
- break;
- case STATE_RADIO_RX_ON:
-+ case STATE_RADIO_RX_ON_LINK:
-+ rt61pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ break;
- case STATE_RADIO_RX_OFF:
-- rt61pci_toggle_rx(rt2x00dev, state);
-+ case STATE_RADIO_RX_OFF_LINK:
-+ rt61pci_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
- break;
- case STATE_DEEP_SLEEP:
- case STATE_SLEEP:
-diff -up linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c
---- linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c.orig 2008-02-27 20:46:34.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rt2x00/rt73usb.c 2008-02-27 20:47:51.000000000 -0500
-@@ -1208,8 +1208,12 @@ static int rt73usb_set_device_state(stru
- rt73usb_disable_radio(rt2x00dev);
- break;
- case STATE_RADIO_RX_ON:
-+ case STATE_RADIO_RX_ON_LINK:
-+ rt73usb_toggle_rx(rt2x00dev, STATE_RADIO_RX_ON);
-+ break;
- case STATE_RADIO_RX_OFF:
-- rt73usb_toggle_rx(rt2x00dev, state);
-+ case STATE_RADIO_RX_OFF_LINK:
-+ rt73usb_toggle_rx(rt2x00dev, STATE_RADIO_RX_OFF);
- break;
- case STATE_DEEP_SLEEP:
- case STATE_SLEEP:
-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-02-27 20:46:35.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/Makefile 2008-02-27 20:47:51.000000000 -0500
-@@ -14,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/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 20:47:51.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/Kconfig.orig linux-2.6.24.noarch/drivers/ssb/Kconfig
---- linux-2.6.24.noarch/drivers/ssb/Kconfig.orig 2008-02-27 20:46:35.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/Kconfig 2008-02-27 20:47:51.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
+ /* Enable PCI bridge BAR1 prefetch and burst */
+ pci_write_config_dword(dev, SSB_BAR1_CONTROL, 3);
More information about the fedora-extras-commits
mailing list