rpms/kernel/devel kernel.spec, 1.354, 1.355 linux-2.6-ath5k.patch, 1.11, 1.12 linux-2.6-wireless-pending.patch, 1.21, 1.22 linux-2.6-wireless.patch, 1.16, 1.17
John W. Linville (linville)
fedora-extras-commits at redhat.com
Thu Jan 10 22:08:48 UTC 2008
- Previous message (by thread): rpms/yanone-kaffeesatz-fonts/F-7 yanone-kaffeesatz-fonts-fontconfig.conf, NONE, 1.1 yanone-kaffeesatz-fonts.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message (by thread): comps comps-f7.xml.in, 1.299, 1.300 comps-f8.xml.in, 1.204, 1.205 comps-f9.xml.in, 1.230, 1.231
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: linville
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6714
Modified Files:
kernel.spec linux-2.6-ath5k.patch
linux-2.6-wireless-pending.patch linux-2.6-wireless.patch
Log Message:
rt2500usb thinko fix ; b43 N phy pre-support updates ; ath5k cleanups and beacon fixes
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.354
retrieving revision 1.355
diff -u -r1.354 -r1.355
--- kernel.spec 10 Jan 2008 19:28:56 -0000 1.354
+++ kernel.spec 10 Jan 2008 22:07:32 -0000 1.355
@@ -620,7 +620,7 @@
Patch610: linux-2.6-defaults-fat-utf8.patch
Patch660: linux-2.6-libata-ali-atapi-dma.patch
Patch670: linux-2.6-ata-quirk.patch
-#Patch680: linux-2.6-wireless.patch
+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
@@ -1121,7 +1121,7 @@
ApplyPatch linux-2.6-ata-quirk.patch
# wireless patches headed for 2.6.24
-#ApplyPatch linux-2.6-wireless.patch
+ApplyPatch linux-2.6-wireless.patch
# wireless patches headed for 2.6.25
ApplyPatch linux-2.6-wireless-pending.patch
@@ -1747,6 +1747,11 @@
%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
%changelog
+* Thu Jan 10 2008 John W. Linville <linville at redhat.com>
+- rt2500usb thinko fix
+- b43 N phy pre-support updates
+- ath5k cleanups and beacon fixes
+
* Thu Jan 10 2008 Eric Sandeen <sandeen at redhat.com>
- ext4 updates slated for 2.6.25
linux-2.6-ath5k.patch:
Index: linux-2.6-ath5k.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-ath5k.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- linux-2.6-ath5k.patch 9 Jan 2008 02:12:37 -0000 1.11
+++ linux-2.6-ath5k.patch 10 Jan 2008 22:07:32 -0000 1.12
@@ -1,3 +1,100 @@
+commit 5a2b0eb069545d31c2babad6b1f9c472c1f1db76
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Thu Jan 10 15:06:29 2008 +0900
+
+ ath5k: remove duplicate bssid variable
+
+ struct ath5k_hw included two different variables for caching the bssid. remove
+ one of them.
+
+ drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC
+ drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD
+ drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC
+
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d06d995304a974e0e2e5b53b94a4f7caf3669324
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 19:11:14 2008 +0900
+
+ ath5k: simplify beacon configuration
+
+ make ath5k_beacon_config() clearer and move timer configuration into a seperate
+ function. it will be needed later when we can detect HW merges.
+
+ Changes-licensed-under: 3-clause-BSD
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit f4e1fe88feeb0368159019bbd81f47a7ff2b4603
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 18:16:08 2008 +0900
+
+ ath5k: configure beacons
+
+ call ath5k_beacon_config() on beacon_update and after channel changes. this is
+ necessary to ensure beacons are sent.
+
+ Changes-licensed-under: 3-clause-BSD
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 5c1ba23224c3f5b32f65f012ad4f997d9e06bd6c
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 18:16:07 2008 +0900
+
+ ath5k: centrally define TSF to TU conversion macro
+
+ centrally define TSF_TO_TO macro for TSF to TU conversion and use it in all
+ instances. there will be more usage for this later.
+
+ ath5k.h: Changes-licensed-under: ISC
+ all others: Changes-licensed-under: 3-clause-BSD
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit dc54838a243069219afcebc49be888c70b3b352e
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 18:16:06 2008 +0900
+
+ ath5k: comment out unused beacon functions and structures
+
+ use '#if 0' to comment out unused functions and structures wrt beacons. we
+ might need that info later but right now they are useless and probably need to
+ be rewritten.
+
+ Changes-licensed-under: ISC
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit ed700c25133d90619b05ef44bb20ec23976861ed
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 18:16:05 2008 +0900
+
+ ath5k: rename function ath5k_hw_wait_for_beacon
+
+ rename to ath5k_hw_beaconq_finish, since this is more clear.
+ this function is unused at the moment
+
+ Changes-licensed-under: ISC
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 393c6826c469077da28543b5ca635b37b7dc18cd
+Author: Bruno Randolf <bruno at thinktube.com>
+Date: Wed Jan 9 18:16:04 2008 +0900
+
+ ath5k: code cosmetics
+
+ * move some enums to kdoc
+ * small cosmetic changes of indentation etc
+
+ base.[ch]: Changes-licensed-under: 3-clause-BSD
+ all others: Changes-licensed-under: ISC
+ Signed-off-by: Bruno Randolf <bruno at thinktube.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
commit c8b7de755e09acd128db3998747989e1c2b118c8
Author: Johannes Berg <johannes at sipsolutions.net>
Date: Fri Dec 21 00:59:04 2007 +0100
@@ -1563,8 +1660,8 @@
Signed-off-by: John W. Linville <linville at tuxdriver.com>
diff -up linux-2.6.23.noarch/MAINTAINERS.orig linux-2.6.23.noarch/MAINTAINERS
---- linux-2.6.23.noarch/MAINTAINERS.orig 2008-01-08 20:58:04.000000000 -0500
-+++ linux-2.6.23.noarch/MAINTAINERS 2008-01-08 21:00:40.000000000 -0500
+--- linux-2.6.23.noarch/MAINTAINERS.orig 2008-01-10 16:45:47.000000000 -0500
++++ linux-2.6.23.noarch/MAINTAINERS 2008-01-10 16:47:05.000000000 -0500
@@ -646,6 +646,17 @@ M: ecashin at coraid.com
W: http://www.coraid.com/support/linux
S: Supported
@@ -1584,8 +1681,8 @@
P: Jay Cliburn
M: jcliburn at gmail.com
diff -up linux-2.6.23.noarch/drivers/net/wireless/Makefile.orig linux-2.6.23.noarch/drivers/net/wireless/Makefile
---- linux-2.6.23.noarch/drivers/net/wireless/Makefile.orig 2008-01-08 20:58:04.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/Makefile 2008-01-08 21:00:40.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/Makefile.orig 2008-01-10 16:45:47.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/Makefile 2008-01-10 16:47:05.000000000 -0500
@@ -61,3 +61,5 @@ obj-$(CONFIG_RT2X00) += rt2x00/
obj-$(CONFIG_P54_COMMON) += p54common.o
obj-$(CONFIG_P54_USB) += p54usb.o
@@ -1593,8 +1690,8 @@
+
+obj-$(CONFIG_ATH5K) += ath5k/
diff -up linux-2.6.23.noarch/drivers/net/wireless/Kconfig.orig linux-2.6.23.noarch/drivers/net/wireless/Kconfig
---- linux-2.6.23.noarch/drivers/net/wireless/Kconfig.orig 2008-01-08 20:58:04.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/Kconfig 2008-01-08 21:00:40.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/Kconfig.orig 2008-01-10 16:45:47.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/Kconfig 2008-01-10 16:47:05.000000000 -0500
@@ -656,6 +656,23 @@ config P54_PCI
If you choose to build a module, it'll be called p54pci.
@@ -1620,8 +1717,8 @@
source "drivers/net/wireless/hostap/Kconfig"
source "drivers/net/wireless/bcm43xx/Kconfig"
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/phy.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/phy.c 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/phy.c 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,2071 @@
+/*
+ * PHY functions
@@ -3695,9 +3792,9 @@
+ return ath5k_hw_txpower(ah, channel, power);
+}
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/ath5k.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/ath5k.h 2008-01-08 21:00:40.000000000 -0500
-@@ -0,0 +1,1153 @@
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/ath5k.h 2008-01-10 16:47:05.000000000 -0500
+@@ -0,0 +1,1173 @@
+/*
+ * Copyright (c) 2004-2007 Reyk Floeter <reyk at openbsd.org>
+ * Copyright (c) 2006-2007 Nick Kossifidis <mickflemm at gmail.com>
@@ -3989,16 +4086,22 @@
+#define AR5K_TXERR_FILT 0x02
+#define AR5K_TXERR_FIFO 0x04
+
-+/*
-+ * Queue types used to classify tx queues.
++/**
++ * enum ath5k_tx_queue - Queue types used to classify tx queues.
++ * @AR5K_TX_QUEUE_INACTIVE: q is unused -- see ath5k_hw_release_tx_queue
++ * @AR5K_TX_QUEUE_DATA: A normal data queue
++ * @AR5K_TX_QUEUE_XR_DATA: An XR-data queue
++ * @AR5K_TX_QUEUE_BEACON: The beacon queue
++ * @AR5K_TX_QUEUE_CAB: The after-beacon queue
++ * @AR5K_TX_QUEUE_UAPSD: Unscheduled Automatic Power Save Delivery queue
+ */
+enum ath5k_tx_queue {
-+ AR5K_TX_QUEUE_INACTIVE = 0, /* q is unused -- see ath5k_hw_release_tx_queue */
-+ AR5K_TX_QUEUE_DATA, /*A normal data queue*/
-+ AR5K_TX_QUEUE_XR_DATA, /*An XR-data queue*/
-+ AR5K_TX_QUEUE_BEACON, /*The beacon queue*/
-+ AR5K_TX_QUEUE_CAB, /*The ater-beacon queue*/
-+ AR5K_TX_QUEUE_UAPSD, /*Unscheduled Automatic Power Save Delivery queue*/
++ AR5K_TX_QUEUE_INACTIVE = 0,
++ AR5K_TX_QUEUE_DATA,
++ AR5K_TX_QUEUE_XR_DATA,
++ AR5K_TX_QUEUE_BEACON,
++ AR5K_TX_QUEUE_CAB,
++ AR5K_TX_QUEUE_UAPSD,
+};
+
+#define AR5K_NUM_TX_QUEUES 10
@@ -4153,25 +4256,37 @@
+#define AR5K_BEACON_ENA 0x00800000 /*enable beacon xmit*/
+#define AR5K_BEACON_RESET_TSF 0x01000000 /*force a TSF reset*/
+
-+/*
-+ * Per-station beacon timer state.
++#if 0
++/**
++ * struct ath5k_beacon_state - Per-station beacon timer state.
++ * @bs_interval: in TU's, can also include the above flags
++ * @bs_cfp_max_duration: if non-zero hw is setup to coexist with a
++ * Point Coordination Function capable AP
+ */
+struct ath5k_beacon_state {
+ u32 bs_next_beacon;
+ u32 bs_next_dtim;
-+ u32 bs_interval; /*in TU's -see net80211/ieee80211_var.h-
-+ can also include the above flags*/
++ u32 bs_interval;
+ u8 bs_dtim_period;
+ u8 bs_cfp_period;
-+ u16 bs_cfp_max_duration; /*if non-zero hw is setup to coexist with
-+ a Point Coordination Function capable AP*/
++ u16 bs_cfp_max_duration;
+ u16 bs_cfp_du_remain;
+ u16 bs_tim_offset;
+ u16 bs_sleep_duration;
+ u16 bs_bmiss_threshold;
+ u32 bs_cfp_next;
+};
++#endif
++
+
++/*
++ * TSF to TU conversion:
++ *
++ * TSF is a 64bit value in usec (microseconds).
++ * TU is a 32bit value in roughly msec (milliseconds): usec / 1024
++ * (1000ms equals 976 TU)
++ */
++#define TSF_TO_TU(_tsf) (u32)((_tsf) >> 10)
+
+
+
@@ -4633,10 +4748,6 @@
+ enum ieee80211_if_types ah_op_mode;
+ enum ath5k_power_mode ah_power_mode;
+ struct ieee80211_channel ah_current_channel;
-+ /* Current BSSID we are trying to assoc to / creating, this
-+ * comes from ieee80211_if_conf. This is passed by mac80211 on
-+ * config_interface() */
-+ u8 bssid[ETH_ALEN];
+ bool ah_turbo;
+ bool ah_calibration;
+ bool ah_running;
@@ -4673,6 +4784,10 @@
+ bool ah_ant_diversity;
+
+ u8 ah_sta_id[ETH_ALEN];
++
++ /* Current BSSID we are trying to assoc to / creating.
++ * This is passed by mac80211 on config_interface() and cached here for
++ * use in resets */
+ u8 ah_bssid[ETH_ALEN];
+
+ u32 ah_gpio[AR5K_MAX_GPIO];
@@ -4775,9 +4890,11 @@
+extern u64 ath5k_hw_get_tsf64(struct ath5k_hw *ah);
+extern void ath5k_hw_reset_tsf(struct ath5k_hw *ah);
+extern void ath5k_hw_init_beacon(struct ath5k_hw *ah, u32 next_beacon, u32 interval);
++#if 0
+extern int ath5k_hw_set_beacon_timers(struct ath5k_hw *ah, const struct ath5k_beacon_state *state);
+extern void ath5k_hw_reset_beacon(struct ath5k_hw *ah);
-+extern int ath5k_hw_wait_for_beacon(struct ath5k_hw *ah, unsigned long phys_addr);
++extern int ath5k_hw_beaconq_finish(struct ath5k_hw *ah, unsigned long phys_addr);
++#endif
+extern void ath5k_hw_update_mib_counters(struct ath5k_hw *ah, struct ath5k_mib_stats *statistics);
+/* ACK bit rate */
+void ath5k_hw_set_ack_bitrate_high(struct ath5k_hw *ah, bool high);
@@ -4852,14 +4969,14 @@
+
+#endif
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/Makefile
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/Makefile 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/Makefile 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,2 @@
+ath5k-objs = base.o hw.o regdom.o initvals.o phy.o debug.o
+obj-$(CONFIG_ATH5K) += ath5k.o
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/reg.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/reg.h 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/reg.h 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,1987 @@
+/*
+ * Copyright (c) 2007 Nick Kossifidis <mickflemm at gmail.com>
@@ -4946,7 +5063,7 @@
+/*
+ * Interrupt enable register
+ */
-+#define AR5K_IER 0x0024 /* Register Address */
++#define AR5K_IER 0x0024 /* Register Address */
+#define AR5K_IER_DISABLE 0x00000000 /* Disable card interrupts */
+#define AR5K_IER_ENABLE 0x00000001 /* Enable card interrupts */
+
@@ -4959,7 +5076,7 @@
+/*
+ * Beacon control register [5210]
+ */
-+#define AR5K_BCR 0x0028 /* Register Address */
++#define AR5K_BCR 0x0028 /* Register Address */
+#define AR5K_BCR_AP 0x00000000 /* AP mode */
+#define AR5K_BCR_ADHOC 0x00000001 /* Ad-Hoc mode */
+#define AR5K_BCR_BDMAE 0x00000002 /* DMA enable */
@@ -4970,7 +5087,7 @@
+/*
+ * First RTS duration register [5211]
+ */
-+#define AR5K_RTSD0 0x0028 /* Register Address */
++#define AR5K_RTSD0 0x0028 /* Register Address */
+#define AR5K_RTSD0_6 0x000000ff /* 6Mb RTS duration mask (?) */
+#define AR5K_RTSD0_6_S 0 /* 6Mb RTS duration shift (?) */
+#define AR5K_RTSD0_9 0x0000ff00 /* 9Mb*/
@@ -6849,8 +6966,8 @@
+#define AR5K_PHY_GAIN_2GHZ_MARGIN_TXRX_S 18
+#define AR5K_PHY_GAIN_2GHZ_INI_5111 0x6480416c
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.h 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.h 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,500 @@
+/*
+ * Copyright (c) 2004, 2005 Reyk Floeter <reyk at openbsd.org>
@@ -7353,8 +7470,8 @@
+
+#endif
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.h 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.h 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,216 @@
+/*
+ * Copyright (c) 2007 Bruno Randolf <bruno at thinktube.com>
@@ -7573,8 +7690,8 @@
+
+#endif /* ifndef _ATH5K_DEBUG_H */
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.c 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,4349 @@
+ /*
+ * Copyright (c) 2004-2007 Reyk Floeter <reyk at openbsd.org>
@@ -7840,8 +7957,8 @@
+
+ ath5k_hw_set_lladdr(ah, mac);
+ /* Set BSSID to bcast address: ff:ff:ff:ff:ff:ff for now */
-+ memset(ah->bssid, 0xff, ETH_ALEN);
-+ ath5k_hw_set_associd(ah, ah->bssid, 0);
++ memset(ah->ah_bssid, 0xff, ETH_ALEN);
++ ath5k_hw_set_associd(ah, ah->ah_bssid, 0);
+ ath5k_hw_set_opmode(ah);
+
+ ath5k_hw_set_rfgain_opt(ah);
@@ -8443,7 +8560,7 @@
+ * Misc
+ */
+ /* XXX: add ah->aid once mac80211 gives this to us */
-+ ath5k_hw_set_associd(ah, ah->bssid, 0);
++ ath5k_hw_set_associd(ah, ah->ah_bssid, 0);
+
+ ath5k_hw_set_opmode(ah);
+ /*PISR/SISR Not available on 5210*/
@@ -9863,7 +9980,6 @@
+ ath5k_hw_reg_write(ah, low_id, AR5K_BSS_ID0);
+ ath5k_hw_reg_write(ah, high_id | ((assoc_id & 0x3fff) <<
+ AR5K_BSS_ID1_AID_S), AR5K_BSS_ID1);
-+ memcpy(&ah->ah_bssid, bssid, ETH_ALEN);
+
+ if (assoc_id == 0) {
+ ath5k_hw_disable_pspoll(ah);
@@ -10202,6 +10318,7 @@
+ AR5K_BEACON);
+}
+
++#if 0
+/*
+ * Set beacon timers
+ */
@@ -10350,9 +10467,8 @@
+
+/*
+ * Wait for beacon queue to finish
-+ * TODO: This function's name is misleading, rename
+ */
-+int ath5k_hw_wait_for_beacon(struct ath5k_hw *ah, unsigned long phys_addr)
++int ath5k_hw_beaconq_finish(struct ath5k_hw *ah, unsigned long phys_addr)
+{
+ unsigned int i;
+ int ret;
@@ -10397,6 +10513,7 @@
+
+ return ret;
+}
++#endif
+
+/*
+ * Update mib counters (statistics)
@@ -11926,8 +12043,8 @@
+ return -EIO;
+}
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.h 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/hw.h 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,588 @@
+/*
+ * Copyright (c) 2004-2007 Reyk Floeter <reyk at openbsd.org>
@@ -12518,8 +12635,8 @@
+ return retval;
+}
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/initvals.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/initvals.c 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/initvals.c 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,1347 @@
+/*
+ * Initial register settings functions
@@ -13869,9 +13986,9 @@
+ return 0;
+}
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c 2008-01-08 21:00:40.000000000 -0500
-@@ -0,0 +1,2822 @@
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.c 2008-01-10 16:47:05.000000000 -0500
+@@ -0,0 +1,2817 @@
+/*-
+ * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
+ * Copyright (c) 2004-2005 Atheros Communications, Inc.
@@ -14929,6 +15046,7 @@
+ */
+/* ath5k_chan_change(sc, chan); */
+
++ ath5k_beacon_config(sc);
+ /*
+ * Re-enable interrupts.
+ */
@@ -15319,7 +15437,7 @@
+ if (ret)
+ return ret;
+ if (sc->opmode == IEEE80211_IF_TYPE_AP ||
-+ sc->opmode == IEEE80211_IF_TYPE_IBSS) {
++ sc->opmode == IEEE80211_IF_TYPE_IBSS) {
+ /*
+ * Always burst out beacon and CAB traffic
+ * (aifs = cwmin = cwmax = 0)
@@ -15377,7 +15495,7 @@
+ /* XXX return value */
+ if (likely(!test_bit(ATH_STAT_INVALID, sc->status))) {
+ /* don't touch the hardware if marked invalid */
-+ (void)ath5k_hw_stop_tx_dma(ah, sc->bhalq);
++ ath5k_hw_stop_tx_dma(ah, sc->bhalq);
+ ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "beacon queue %x\n",
+ ath5k_hw_get_tx_buf(ah, sc->bhalq));
+ for (i = 0; i < ARRAY_SIZE(sc->txqs); i++)
@@ -15844,25 +15962,10 @@
+ sc->bsent++;
+}
+
-+/*
-+ * Configure the beacon and sleep timers.
-+ *
-+ * When operating as an AP this resets the TSF and sets
-+ * up the hardware to notify us when we need to issue beacons.
-+ *
-+ * When operating in station mode this sets up the beacon
-+ * timers according to the timestamp of the last received
-+ * beacon and the current TSF, configures PCF and DTIM
-+ * handling, programs the sleep registers so the hardware
-+ * will wakeup in time to receive beacons, and configures
-+ * the beacon miss handling so we'll receive a BMISS
-+ * interrupt when we stop seeing beacons from the AP
-+ * we've associated with.
-+ */
++
+static void
-+ath5k_beacon_config(struct ath5k_softc *sc)
++ath5k_beacon_update_timers(struct ath5k_softc *sc)
+{
-+#define TSF_TO_TU(_h, _l) (((_h) << 22) | ((_l) >> 10))
+ struct ath5k_hw *ah = sc->ah;
+ u32 uninitialized_var(nexttbtt), intval, tsftu;
+ u64 tsf;
@@ -15873,60 +15976,67 @@
+
+ /* current TSF converted to TU */
+ tsf = ath5k_hw_get_tsf64(ah);
-+ tsftu = TSF_TO_TU((u32)(tsf >> 32), (u32)tsf);
++ tsftu = TSF_TO_TU(tsf);
+
-+ ATH5K_DBG(sc, ATH5K_DEBUG_BEACON, "intval %u hw tsftu %u\n",
-+ intval, tsftu);
++ /*
++ * Pull nexttbtt forward to reflect the current
++ * TSF. Add one intval otherwise the timespan
++ * can be too short for ibss merges.
++ */
++ nexttbtt = tsftu + 2 * intval;
+
-+ if (sc->opmode == IEEE80211_IF_TYPE_STA ||
-+ (sc->opmode == IEEE80211_IF_TYPE_IBSS &&
-+ !sc->bbuf->skb)) {
-+ ath5k_hw_set_intr(ah, 0);
-+ sc->imask |= AR5K_INT_BMISS;
-+ sc->bmisscount = 0;
-+ ath5k_hw_set_intr(ah, sc->imask);
-+ } else if (sc->opmode == IEEE80211_IF_TYPE_IBSS /* TODO || AP */) {
-+ ath5k_hw_set_intr(ah, 0);
-+ if (sc->opmode == IEEE80211_IF_TYPE_IBSS) {
-+ /*
-+ * Pull nexttbtt forward to reflect the current
-+ * TSF. Add one intval otherwise the timespan
-+ * can be too short for ibss merges.
-+ */
-+ nexttbtt = tsftu + 2 * intval;
++ ATH5K_DBG(sc, ATH5K_DEBUG_BEACON,
++ "hw tsftu %u nexttbtt %u intval %u\n", tsftu, nexttbtt, intval);
+
-+ ATH5K_DBG(sc, ATH5K_DEBUG_BEACON, "nexttbtt %u "
-+ "intval %u\n", nexttbtt, intval);
++ intval |= AR5K_BEACON_ENA;
+
-+ /*
-+ * In IBSS mode enable the beacon timers but only
-+ * enable SWBA interrupts if we need to manually
-+ * prepare beacon frames. Otherwise we use a
-+ * self-linked tx descriptor and let the hardware
-+ * deal with things.
-+ */
-+ if (!ath5k_hw_hasveol(ah))
-+ sc->imask |= AR5K_INT_SWBA;
-+ } /* TODO else AP */
++ ath5k_hw_init_beacon(ah, nexttbtt, intval);
++}
+
-+ intval |= AR5K_BEACON_ENA;
+
-+ ath5k_beaconq_config(sc);
-+ ath5k_hw_init_beacon(ah, nexttbtt, intval);
++/*
++ * Configure the beacon timers and interrupts based on the operating mode
++ *
++ * When operating in station mode we want to receive a BMISS interrupt when we
++ * stop seeing beacons from the AP we've associated with so we can look for
++ * another AP to associate with.
++ *
++ * In IBSS mode we need to configure the beacon timers and use a self-linked tx
++ * descriptor if possible. If the hardware cannot deal with that we enable SWBA
++ * interrupts to send the beacons from the interrupt handler.
++ */
++static void
++ath5k_beacon_config(struct ath5k_softc *sc)
++{
++ struct ath5k_hw *ah = sc->ah;
+
-+ sc->bmisscount = 0;
-+ ath5k_hw_set_intr(ah, sc->imask);
++ ath5k_hw_set_intr(ah, 0);
++ sc->bmisscount = 0;
++
++ if (sc->opmode == IEEE80211_IF_TYPE_STA) {
++ sc->imask |= AR5K_INT_BMISS;
++ } else if (sc->opmode == IEEE80211_IF_TYPE_IBSS) {
+ /*
-+ * When using a self-linked beacon descriptor in
-+ * ibss mode load it once here.
++ * In IBSS mode enable the beacon timers but only enable SWBA
++ * interrupts if we need to manually prepare beacon frames.
++ * Otherwise we use a self-linked tx descriptor and let the
++ * hardware deal with things. In that case we have to load it
++ * only once here.
+ */
-+ if (sc->opmode == IEEE80211_IF_TYPE_IBSS &&
-+ ath5k_hw_hasveol(ah))
++ ath5k_beaconq_config(sc);
++ ath5k_beacon_update_timers(sc);
++
++ if (!ath5k_hw_hasveol(ah))
++ sc->imask |= AR5K_INT_SWBA;
++ else
+ ath5k_beacon_send(sc);
+ }
-+#undef TSF_TO_TU
++ /* TODO else AP */
++
++ ath5k_hw_set_intr(ah, sc->imask);
+}
+
++
+/********************\
+* Interrupt handling *
+\********************/
@@ -16447,10 +16557,10 @@
+ }
+ if (conf->bssid) {
+ /* Cache for later use during resets */
-+ memcpy(ah->bssid, conf->bssid, ETH_ALEN);
++ memcpy(ah->ah_bssid, conf->bssid, ETH_ALEN);
+ /* XXX: assoc id is set to 0 for now, mac80211 doesn't have
+ * a clean way of letting us retrieve this yet. */
-+ ath5k_hw_set_associd(ah, ah->bssid, 0);
++ ath5k_hw_set_associd(ah, ah->ah_bssid, 0);
+ }
+ mutex_unlock(&sc->lock);
+
@@ -16688,6 +16798,8 @@
+ ret = ath5k_beacon_setup(sc, sc->bbuf, ctl);
+ if (ret)
+ sc->bbuf->skb = NULL;
++ else
++ ath5k_beacon_config(sc);
+
+end:
+ mutex_unlock(&sc->lock);
@@ -16695,8 +16807,8 @@
+}
+
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.c 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/debug.c 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,469 @@
+/*
+ * Copyright (c) 2007 Bruno Randolf <bruno at thinktube.com>
@@ -16966,7 +17078,7 @@
+
+ tsf = ath5k_hw_get_tsf64(sc->ah);
+ len += snprintf(buf+len, sizeof(buf)-len,
-+ "TSF\t\t0x%016llx\tTU: %08x\n", tsf, (u32)(tsf >> 10));
++ "TSF\t\t0x%016llx\tTU: %08x\n", tsf, TSF_TO_TU(tsf));
+
+ return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
@@ -17168,8 +17280,8 @@
+
+#endif /* if ATH5K_DEBUG */
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/base.h 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,178 @@
+/*-
+ * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting
@@ -17229,7 +17341,7 @@
+struct ath5k_buf {
+ struct list_head list;
+ unsigned int flags; /* tx descriptor flags */
-+ struct ath5k_desc *desc; /* virtual addr of desc */
++ struct ath5k_desc *desc; /* virtual addr of desc */
+ dma_addr_t daddr; /* physical addr of desc */
+ struct sk_buff *skb; /* skbuff for buf */
+ dma_addr_t skbaddr;/* physical addr of skb data */
@@ -17246,11 +17358,11 @@
+ * hardware queue).
+ */
+struct ath5k_txq {
-+ unsigned int qnum; /* hardware q number */
-+ u32 *link; /* link ptr in last TX desc */
-+ struct list_head q; /* transmit queue */
-+ spinlock_t lock; /* lock on q and link */
-+ bool setup;
++ unsigned int qnum; /* hardware q number */
++ u32 *link; /* link ptr in last TX desc */
++ struct list_head q; /* transmit queue */
++ spinlock_t lock; /* lock on q and link */
++ bool setup;
+};
+
+#if CHAN_DEBUG
@@ -17350,8 +17462,8 @@
+
+#endif
diff -up /dev/null linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.c
---- /dev/null 2008-01-08 19:44:41.586069818 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.c 2008-01-08 21:00:40.000000000 -0500
+--- /dev/null 2008-01-10 08:19:44.585871638 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/ath5k/regdom.c 2008-01-10 16:47:05.000000000 -0500
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2004, 2005 Reyk Floeter <reyk at vantronix.net>
linux-2.6-wireless-pending.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.21 -r 1.22 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.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- linux-2.6-wireless-pending.patch 9 Jan 2008 16:58:18 -0000 1.21
+++ linux-2.6-wireless-pending.patch 10 Jan 2008 22:07:32 -0000 1.22
@@ -1,3 +1,77 @@
+commit f74028c41cc14c2301a2b74fa17ad9ceb262daaf
+Author: John W. Linville <linville at tuxdriver.com>
+Date: Thu Jan 10 13:37:45 2008 -0500
+
+ iwlwifi: fix-up damage from rebase of namespace separation patches
+
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 607dd1fd3a2347b3b7144c1cf4300ba6f8da6fe6
+Author: John W. Linville <linville at tuxdriver.com>
+Date: Thu Jan 10 13:28:49 2008 -0500
+
+ b43: finish removal of pio support
+
+ As suggested in "b43: Remove PIO support"...
+
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit d507e02672266ddd62ce48ab933b35468fa8b3eb
+Author: Pavel Roskin <proski at gnu.org>
+Date: Wed Jan 9 22:16:58 2008 -0500
+
+ hostap_cs: don't match revisions in presense of the MAC chip name
+
+ If the third PCMCIA ID string specifies the MAC chip, the fourth ID
+ string doesn't need to be matched. Even if it's different, it will be
+ compatible with the driver.
+
+ This ensures that other different revisions of the card will be
+ supported.
+
+ Signed-off-by: Pavel Roskin <proski at gnu.org>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 30c796bad54b869d48897cb13e1b7b8f9dccef1c
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Wed Jan 9 19:08:49 2008 +0100
+
+ b43: Remove the PHY spinlock
+
+ This fixes a sparse warning about weird locking.
+ The spinlock is not needed, so simply remove it.
+ This also adds some sanity checks to the PHY and radio locking
+ to protect against recursive locking.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 5548d74c57387e1f041bf01093807d7a9af94a05
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Wed Jan 9 18:39:09 2008 +0100
+
+ b43: Fix PHY register routing
+
+ This fixes the PHY routing bit handling.
+ This is needed for N-PHY.
+ No functional change to A-PHY and G-PHY code.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 0ec160e294c65d11340750aca9fa6ecfda92be99
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Wed Jan 9 16:13:56 2008 +0100
+
+ b43: Add N-PHY register definitions
+
+ This patch adds all register definitions for the N-PHY.
+ This adds two new files: nphy.h and nphy.c
+ No functional changes to existing code.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
commit 620fdb92d74f94ef5608c08cf9825a427e1ecfff
Author: Michael Buesch <mb at bu3sch.de>
Date: Sat Dec 29 17:24:23 2007 +0100
@@ -5812,8 +5886,8 @@
Signed-off-by: John W. Linville <linville at tuxdriver.com>
diff -up linux-2.6.23.noarch/include/linux/nl80211.h.orig linux-2.6.23.noarch/include/linux/nl80211.h
---- linux-2.6.23.noarch/include/linux/nl80211.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/linux/nl80211.h 2008-01-09 10:53:36.000000000 -0500
+--- linux-2.6.23.noarch/include/linux/nl80211.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/linux/nl80211.h 2008-01-10 15:52:18.000000000 -0500
@@ -7,6 +7,18 @@
*/
@@ -6016,7 +6090,7 @@
#endif /* __LINUX_NL80211_H */
diff -up linux-2.6.23.noarch/include/linux/wireless.h.orig linux-2.6.23.noarch/include/linux/wireless.h
--- linux-2.6.23.noarch/include/linux/wireless.h.orig 2007-10-09 16:31:38.000000000 -0400
-+++ linux-2.6.23.noarch/include/linux/wireless.h 2008-01-09 10:53:36.000000000 -0500
++++ linux-2.6.23.noarch/include/linux/wireless.h 2008-01-10 15:52:18.000000000 -0500
@@ -541,6 +541,16 @@
/* Maximum size of returned data */
#define IW_SCAN_MAX_DATA 4096 /* In bytes */
@@ -6045,8 +6119,8 @@
__u32 event_capa[6];
diff -up linux-2.6.23.noarch/include/linux/ieee80211.h.orig linux-2.6.23.noarch/include/linux/ieee80211.h
---- linux-2.6.23.noarch/include/linux/ieee80211.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/linux/ieee80211.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/linux/ieee80211.h.orig 2008-01-10 14:57:11.000000000 -0500
++++ linux-2.6.23.noarch/include/linux/ieee80211.h 2008-01-10 15:52:18.000000000 -0500
@@ -54,6 +54,8 @@
#define IEEE80211_STYPE_ACTION 0x00D0
@@ -6271,8 +6345,8 @@
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
diff -up linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h.orig linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h
---- linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/linux/ssb/ssb_regs.h 2008-01-10 15:52:18.000000000 -0500
@@ -147,6 +147,10 @@
#define SSB_IDLOW_SSBREV 0xF0000000 /* Sonics Backplane Revision code */
#define SSB_IDLOW_SSBREV_22 0x00000000 /* <= 2.2 */
@@ -6404,8 +6478,8 @@
enum {
SSB_SPROM1CCODE_WORLD = 0,
diff -up linux-2.6.23.noarch/include/linux/ssb/ssb.h.orig linux-2.6.23.noarch/include/linux/ssb/ssb.h
---- linux-2.6.23.noarch/include/linux/ssb/ssb.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/linux/ssb/ssb.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/linux/ssb/ssb.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/linux/ssb/ssb.h 2008-01-10 15:52:18.000000000 -0500
@@ -15,22 +15,19 @@ struct pcmcia_device;
struct ssb_bus;
struct ssb_driver;
@@ -6548,8 +6622,8 @@
diff -up linux-2.6.23.noarch/include/net/cfg80211.h.orig linux-2.6.23.noarch/include/net/cfg80211.h
---- linux-2.6.23.noarch/include/net/cfg80211.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/net/cfg80211.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/net/cfg80211.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/net/cfg80211.h 2008-01-10 15:52:18.000000000 -0500
@@ -49,6 +49,120 @@ extern int ieee80211_radiotap_iterator_n
struct ieee80211_radiotap_iterator *iterator);
@@ -6739,8 +6813,8 @@
#endif /* __NET_CFG80211_H */
diff -up linux-2.6.23.noarch/include/net/ieee80211.h.orig linux-2.6.23.noarch/include/net/ieee80211.h
---- linux-2.6.23.noarch/include/net/ieee80211.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/net/ieee80211.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/net/ieee80211.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/net/ieee80211.h 2008-01-10 15:52:18.000000000 -0500
@@ -677,7 +677,7 @@ struct ieee80211_probe_request {
struct ieee80211_probe_response {
@@ -6762,8 +6836,8 @@
};
diff -up linux-2.6.23.noarch/include/net/mac80211.h.orig linux-2.6.23.noarch/include/net/mac80211.h
---- linux-2.6.23.noarch/include/net/mac80211.h.orig 2008-01-08 20:02:59.000000000 -0500
-+++ linux-2.6.23.noarch/include/net/mac80211.h 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/include/net/mac80211.h.orig 2008-01-10 14:57:12.000000000 -0500
++++ linux-2.6.23.noarch/include/net/mac80211.h 2008-01-10 15:52:18.000000000 -0500
@@ -139,17 +139,54 @@ enum ieee80211_phymode {
};
@@ -7043,8 +7117,8 @@
+
#endif /* MAC80211_H */
diff -up linux-2.6.23.noarch/MAINTAINERS.orig linux-2.6.23.noarch/MAINTAINERS
---- linux-2.6.23.noarch/MAINTAINERS.orig 2008-01-08 20:02:49.000000000 -0500
-+++ linux-2.6.23.noarch/MAINTAINERS 2008-01-09 10:53:37.000000000 -0500
+--- linux-2.6.23.noarch/MAINTAINERS.orig 2008-01-10 14:57:14.000000000 -0500
++++ linux-2.6.23.noarch/MAINTAINERS 2008-01-10 15:52:18.000000000 -0500
@@ -805,7 +805,7 @@ P: Stefano Brivio
M: stefano.brivio at polimi.it
L: linux-wireless at vger.kernel.org
@@ -7054,7 +7128,7 @@
BEFS FILE SYSTEM
P: Sergey S. Kostyliov
-@@ -2025,10 +2025,12 @@ W: http://sourceforge.net/projects/e1000
+@@ -2023,10 +2023,12 @@ W: http://sourceforge.net/projects/e1000
S: Supported
INTEL PRO/WIRELESS 2100 NETWORK CONNECTION SUPPORT
@@ -7068,7 +7142,7 @@
L: linux-wireless at vger.kernel.org
L: ipw2100-devel at lists.sourceforge.net
W: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel
-@@ -2036,10 +2038,12 @@ W: http://ipw2100.sourceforge.net
+@@ -2034,10 +2036,12 @@ W: http://ipw2100.sourceforge.net
S: Supported
[...4962 lines suppressed...]
struct hfa384x_comp_ident
@@ -87192,8 +89675,8 @@
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211_rx.c 2008-01-10 15:52:19.000000000 -0500
@@ -1039,7 +1039,7 @@ void hostap_80211_rx(struct net_device *
memcpy(skb_push(skb, ETH_ALEN), src, ETH_ALEN);
memcpy(skb_push(skb, ETH_ALEN), dst, ETH_ALEN);
@@ -87204,8 +89687,8 @@
skb_pull(skb, hdrlen);
len = htons(skb->len);
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ap.c 2008-01-10 15:52:19.000000000 -0500
@@ -258,7 +258,7 @@ static void ap_handle_timer(unsigned lon
sta->addr, ap->tx_callback_poll);
} else {
@@ -87465,8 +89948,8 @@
if (local->ap->ap_policy != AP_OTHER_AP_EVEN_IBSS &&
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_wlan.h 2008-01-10 15:52:19.000000000 -0500
@@ -39,20 +39,20 @@ struct linux_wlan_ng_prism_hdr {
} __attribute__ ((packed));
@@ -87767,8 +90250,8 @@
struct comm_tallies_sums {
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_pci.c 2008-01-10 15:52:19.000000000 -0500
@@ -128,8 +128,8 @@ static inline u16 hfa384x_inw_debug(stru
#define HFA384X_INB(a) hfa384x_inb_debug(dev, (a))
#define HFA384X_OUTW(v,a) hfa384x_outw_debug(dev, (a), (v))
@@ -87819,7 +90302,7 @@
HFA384X_OUTW_DATA(*pos++, d_off);
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_download.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_download.c
--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_download.c.orig 2007-10-09 16:31:38.000000000 -0400
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_download.c 2008-01-09 10:53:38.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_download.c 2008-01-10 15:52:19.000000000 -0500
@@ -100,7 +100,7 @@ static int hfa384x_from_aux(struct net_d
#ifdef PRISM2_PCI
@@ -87879,9 +90362,45 @@
local->hw_downloading = 1;
+diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_cs.c
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_cs.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_cs.c 2008-01-10 16:34:23.000000000 -0500
+@@ -845,15 +845,13 @@ static struct pcmcia_device_id hostap_cs
+ 0x4b801a17),
+ PCMCIA_MFC_DEVICE_PROD_ID12(0, "SanDisk", "ConnectPlus",
+ 0x7a954bd9, 0x74be00c6),
+- PCMCIA_DEVICE_PROD_ID1234(
++ PCMCIA_DEVICE_PROD_ID123(
+ "Intersil", "PRISM 2_5 PCMCIA ADAPTER", "ISL37300P",
+- "Eval-RevA",
+- 0x4b801a17, 0x6345a0bf, 0xc9049a39, 0xc23adc0e),
++ 0x4b801a17, 0x6345a0bf, 0xc9049a39),
+ /* D-Link DWL-650 Rev. P1; manfid 0x000b, 0x7110 */
+- PCMCIA_DEVICE_PROD_ID1234(
++ PCMCIA_DEVICE_PROD_ID123(
+ "D-Link", "DWL-650 Wireless PC Card RevP", "ISL37101P-10",
+- "A3",
+- 0x1a424a1c, 0x6ea57632, 0xdd97a26b, 0x56b21f52),
++ 0x1a424a1c, 0x6ea57632, 0xdd97a26b),
+ PCMCIA_DEVICE_PROD_ID123(
+ "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02",
+ 0xe6ec52ce, 0x08649af2, 0x4b74baa0),
+@@ -890,10 +888,9 @@ static struct pcmcia_device_id hostap_cs
+ PCMCIA_DEVICE_PROD_ID123(
+ "corega", "WL PCCL-11", "ISL37300P",
+ 0xa21501a, 0x59868926, 0xc9049a39),
+- PCMCIA_DEVICE_PROD_ID1234(
++ PCMCIA_DEVICE_PROD_ID123(
+ "The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P",
+- "RevA",
+- 0xa5f472c2, 0x9c05598d, 0xc9049a39, 0x57a66194),
++ 0xa5f472c2, 0x9c05598d, 0xc9049a39),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_hw.c 2008-01-10 15:52:19.000000000 -0500
@@ -1075,7 +1075,7 @@ static int prism2_setup_rids(struct net_
{
struct hostap_interface *iface;
@@ -87968,8 +90487,8 @@
goto out;
}
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_main.c 2008-01-10 15:52:19.000000000 -0500
@@ -296,7 +296,7 @@ int hostap_tx_callback_unregister(local_
int hostap_set_word(struct net_device *dev, int rid, u16 val)
{
@@ -87998,8 +90517,8 @@
wireless_send_event(local->dev, SIOCGIWAP, &wrqu, NULL);
return ret;
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_info.c 2008-01-10 15:52:19.000000000 -0500
@@ -303,7 +303,7 @@ static void prism2_info_hostscanresults(
int i, result_size, copy_len, new_count;
struct hfa384x_hostscan_result *results, *prev;
@@ -88039,7 +90558,7 @@
PDEBUG2(DEBUG_EXTRA, " %02x", buf[i]);
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211.h
--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211.h.orig 2007-10-09 16:31:38.000000000 -0400
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211.h 2008-01-09 10:53:38.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_80211.h 2008-01-10 15:52:19.000000000 -0500
@@ -5,52 +5,52 @@
#include <net/ieee80211_crypt.h>
@@ -88111,8 +90630,8 @@
* FH Params, DS Params, CF Params, IBSS Params, TIM */
u8 variable[0];
diff -up linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c
---- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c.orig 2008-01-10 14:57:07.000000000 -0500
++++ linux-2.6.23.noarch/drivers/net/wireless/hostap/hostap_ioctl.c 2008-01-10 15:52:19.000000000 -0500
@@ -84,7 +84,7 @@ static int prism2_get_datarates(struct n
if (len < 2)
return 0;
@@ -88377,8 +90896,8 @@
reason = cpu_to_le16(param->u.mlme.reason_code);
switch (param->u.mlme.cmd) {
diff -up linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c.orig linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c
---- linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c.orig 2008-01-08 20:02:57.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c.orig 2008-01-10 14:57:09.000000000 -0500
++++ linux-2.6.23.noarch/drivers/ssb/b43_pci_bridge.c 2008-01-10 15:52:19.000000000 -0500
@@ -27,6 +27,8 @@ static const struct pci_device_id b43_pc
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) },
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) },
@@ -88389,8 +90908,8 @@
};
MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl);
diff -up linux-2.6.23.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.23.noarch/drivers/ssb/pcmcia.c
---- linux-2.6.23.noarch/drivers/ssb/pcmcia.c.orig 2008-01-08 20:02:57.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/ssb/pcmcia.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/ssb/pcmcia.c.orig 2008-01-10 14:57:09.000000000 -0500
++++ linux-2.6.23.noarch/drivers/ssb/pcmcia.c 2008-01-10 15:52:19.000000000 -0500
@@ -94,7 +94,6 @@ int ssb_pcmcia_switch_core(struct ssb_bu
struct ssb_device *dev)
{
@@ -88541,8 +91060,8 @@
}
diff -up linux-2.6.23.noarch/drivers/ssb/main.c.orig linux-2.6.23.noarch/drivers/ssb/main.c
---- linux-2.6.23.noarch/drivers/ssb/main.c.orig 2008-01-08 20:02:57.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/ssb/main.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/ssb/main.c.orig 2008-01-10 14:57:09.000000000 -0500
++++ linux-2.6.23.noarch/drivers/ssb/main.c 2008-01-10 15:52:19.000000000 -0500
@@ -872,14 +872,22 @@ EXPORT_SYMBOL(ssb_clockspeed);
static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
@@ -88568,8 +91087,8 @@
}
return (SSB_TMSLOW_REJECT_22 | SSB_TMSLOW_REJECT_23);
diff -up linux-2.6.23.noarch/drivers/ssb/pci.c.orig linux-2.6.23.noarch/drivers/ssb/pci.c
---- linux-2.6.23.noarch/drivers/ssb/pci.c.orig 2008-01-08 20:02:57.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/ssb/pci.c 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/drivers/ssb/pci.c.orig 2008-01-10 14:57:09.000000000 -0500
++++ linux-2.6.23.noarch/drivers/ssb/pci.c 2008-01-10 15:52:19.000000000 -0500
@@ -212,29 +212,29 @@ static inline u8 ssb_crc8(u8 crc, u8 dat
return t[crc ^ data];
}
@@ -89012,8 +91531,8 @@
err = -EINVAL;
goto out_kfree;
diff -up linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt.orig linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt
---- linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt.orig 2008-01-08 20:02:48.000000000 -0500
-+++ linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt 2008-01-09 10:53:38.000000000 -0500
+--- linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt.orig 2008-01-10 14:57:01.000000000 -0500
++++ linux-2.6.23.noarch/Documentation/feature-removal-schedule.txt 2008-01-10 15:52:19.000000000 -0500
@@ -333,3 +333,28 @@ Why: This driver has been marked obsolet
Who: Stephen Hemminger <shemminger at linux-foundation.org>
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.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- linux-2.6-wireless.patch 9 Jan 2008 02:12:37 -0000 1.16
+++ linux-2.6-wireless.patch 10 Jan 2008 22:07:32 -0000 1.17
@@ -1,282 +1,25 @@
-commit 85ae82313303ded51b3d49ae8b586224476abd33
-Author: Michael Buesch <mb at bu3sch.de>
-Date: Wed Jan 2 18:55:53 2008 +0100
+commit bff0a057a309d03dee2db3e424f33e56ca395786
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Wed Jan 9 19:18:25 2008 +0100
- b43: Fix rxheader channel parsing
+ rt2x00: Corectly initialize rt2500usb MAC
- This patch fixes the parsing of the RX data header channel field.
+ mac is a pointer, obviously we shouldn't use the address
+ of a pointer as MAC address.
- The current code parses the header incorrectly and passes a wrong
- channel number and frequency for each frame to mac80211.
- The FIXMEs added by this patch don't matter for now as the code
- where they live won't get executed anyway. They will be fixed later.
-
- Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
Signed-off-by: John W. Linville <linville at tuxdriver.com>
-commit 74692096aa876d5a7b5bd73cd518f75840af3877
-Author: Andrew Lutomirski <andy at luto.us>
-Date: Thu Jan 3 21:03:19 2008 -0800
-
- mac80211: return an error when SIWRATE doesn't match any rate
-
- Currently mac80211 fails silently when trying to set a nonexistent
- rate. Return an error instead.
-
- Signed-Off-By: Andy Lutomirski <luto at myrealbox.com>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 3e9533e4d7bea8e9d7622da3baa1a1125cafbe17
-Author: Michael Buesch <mb at bu3sch.de>
-Date: Thu Jan 3 18:59:25 2008 +0100
-
- ssb: Fix probing of PCI cores if PCI and PCIE core is available
-
- This will make sure that always the correct core is selected, even if
- there are both a PCI and PCI-E core on a PCI or PCI-E card.
-
- Signed-off-by: Michael Buesch <mb at bu3sch.de>
- Signed-off-by: John W. Linville <linville at tuxdriver.com>
-diff -up linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c.orig linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c
---- linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c.orig 2008-01-08 20:03:00.000000000 -0500
-+++ linux-2.6.23.noarch/net/mac80211/ieee80211_ioctl.c 2008-01-08 20:15:18.000000000 -0500
-@@ -591,7 +591,7 @@ static int ieee80211_ioctl_siwrate(struc
- sdata->bss->force_unicast_rateidx = -1;
- if (rate->value < 0)
- return 0;
-- for (i=0; i< mode->num_rates; i++) {
-+ for (i=0; i < mode->num_rates; i++) {
- struct ieee80211_rate *rates = &mode->rates[i];
- int this_rate = rates->rate;
-
-@@ -599,10 +599,10 @@ static int ieee80211_ioctl_siwrate(struc
- sdata->bss->max_ratectrl_rateidx = i;
- if (rate->fixed)
- sdata->bss->force_unicast_rateidx = i;
-- break;
-+ return 0;
- }
- }
-- return 0;
-+ return -EINVAL;
- }
-
- static int ieee80211_ioctl_giwrate(struct net_device *dev,
-diff -up linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.c.orig linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.c
---- linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.c.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.c 2008-01-08 20:15:18.000000000 -0500
-@@ -531,21 +531,32 @@ void b43_rx(struct b43_wldev *dev, struc
- switch (chanstat & B43_RX_CHAN_PHYTYPE) {
- case B43_PHYTYPE_A:
- status.phymode = MODE_IEEE80211A;
-- status.freq = chanid;
-- status.channel = b43_freq_to_channel_a(chanid);
-- break;
-- case B43_PHYTYPE_B:
-- status.phymode = MODE_IEEE80211B;
-- status.freq = chanid + 2400;
-- status.channel = b43_freq_to_channel_bg(chanid + 2400);
-+ B43_WARN_ON(1);
-+ /* FIXME: We don't really know which value the "chanid" contains.
-+ * So the following assignment might be wrong. */
-+ status.channel = chanid;
-+ status.freq = b43_channel_to_freq_5ghz(status.channel);
- break;
- case B43_PHYTYPE_G:
- status.phymode = MODE_IEEE80211G;
-+ /* chanid is the radio channel cookie value as used
-+ * to tune the radio. */
- status.freq = chanid + 2400;
-- status.channel = b43_freq_to_channel_bg(chanid + 2400);
-+ status.channel = b43_freq_to_channel_2ghz(status.freq);
-+ break;
-+ case B43_PHYTYPE_N:
-+ status.phymode = 0xDEAD /*FIXME MODE_IEEE80211N*/;
-+ /* chanid is the SHM channel cookie. Which is the plain
-+ * channel number in b43. */
-+ status.channel = chanid;
-+ if (chanstat & B43_RX_CHAN_5GHZ)
-+ status.freq = b43_freq_to_channel_5ghz(status.freq);
-+ else
-+ status.freq = b43_freq_to_channel_2ghz(status.freq);
- break;
- default:
- B43_WARN_ON(1);
-+ goto drop;
- }
-
- dev->stats.last_rx = jiffies;
-diff -up linux-2.6.23.noarch/drivers/net/wireless/b43/main.h.orig linux-2.6.23.noarch/drivers/net/wireless/b43/main.h
---- linux-2.6.23.noarch/drivers/net/wireless/b43/main.h.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/b43/main.h 2008-01-08 20:15:18.000000000 -0500
-@@ -39,11 +39,11 @@
- #define PAD_BYTES(nr_bytes) P4D_BYTES( __LINE__ , (nr_bytes))
-
- /* Lightweight function to convert a frequency (in Mhz) to a channel number. */
--static inline u8 b43_freq_to_channel_a(int freq)
-+static inline u8 b43_freq_to_channel_5ghz(int freq)
- {
- return ((freq - 5000) / 5);
- }
--static inline u8 b43_freq_to_channel_bg(int freq)
-+static inline u8 b43_freq_to_channel_2ghz(int freq)
+diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
+index 50775f9..18b1f91 100644
+--- a/drivers/net/wireless/rt2x00/rt2500usb.c
++++ b/drivers/net/wireless/rt2x00/rt2500usb.c
+@@ -257,7 +257,7 @@ static const struct rt2x00debug rt2500usb_rt2x00debug = {
+ static void rt2500usb_config_mac_addr(struct rt2x00_dev *rt2x00dev,
+ __le32 *mac)
{
- u8 channel;
-
-@@ -54,19 +54,13 @@ static inline u8 b43_freq_to_channel_bg(
-
- return channel;
- }
--static inline u8 b43_freq_to_channel(struct b43_wldev *dev, int freq)
--{
-- if (dev->phy.type == B43_PHYTYPE_A)
-- return b43_freq_to_channel_a(freq);
-- return b43_freq_to_channel_bg(freq);
--}
-
- /* Lightweight function to convert a channel number to a frequency (in Mhz). */
--static inline int b43_channel_to_freq_a(u8 channel)
-+static inline int b43_channel_to_freq_5ghz(u8 channel)
- {
- return (5000 + (5 * channel));
- }
--static inline int b43_channel_to_freq_bg(u8 channel)
-+static inline int b43_channel_to_freq_2ghz(u8 channel)
- {
- int freq;
-
-@@ -77,12 +71,6 @@ static inline int b43_channel_to_freq_bg
-
- return freq;
+- rt2500usb_register_multiwrite(rt2x00dev, MAC_CSR2, &mac,
++ rt2500usb_register_multiwrite(rt2x00dev, MAC_CSR2, mac,
+ (3 * sizeof(__le16)));
}
--static inline int b43_channel_to_freq(struct b43_wldev *dev, u8 channel)
--{
-- if (dev->phy.type == B43_PHYTYPE_A)
-- return b43_channel_to_freq_a(channel);
-- return b43_channel_to_freq_bg(channel);
--}
-
- static inline int b43_is_cck_rate(int rate)
- {
-diff -up linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.h.orig linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.h
---- linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.h.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/b43/xmit.h 2008-01-08 20:15:18.000000000 -0500
-@@ -142,49 +142,56 @@ struct b43_rxhdr_fw4 {
- } __attribute__ ((__packed__));
-
- /* PHY RX Status 0 */
--#define B43_RX_PHYST0_GAINCTL 0x4000 /* Gain Control */
--#define B43_RX_PHYST0_PLCPHCF 0x0200
--#define B43_RX_PHYST0_PLCPFV 0x0100
--#define B43_RX_PHYST0_SHORTPRMBL 0x0080 /* Received with Short Preamble */
-+#define B43_RX_PHYST0_GAINCTL 0x4000 /* Gain Control */
-+#define B43_RX_PHYST0_PLCPHCF 0x0200
-+#define B43_RX_PHYST0_PLCPFV 0x0100
-+#define B43_RX_PHYST0_SHORTPRMBL 0x0080 /* Received with Short Preamble */
- #define B43_RX_PHYST0_LCRS 0x0040
--#define B43_RX_PHYST0_ANT 0x0020 /* Antenna */
--#define B43_RX_PHYST0_UNSRATE 0x0010
-+#define B43_RX_PHYST0_ANT 0x0020 /* Antenna */
-+#define B43_RX_PHYST0_UNSRATE 0x0010
- #define B43_RX_PHYST0_CLIP 0x000C
- #define B43_RX_PHYST0_CLIP_SHIFT 2
--#define B43_RX_PHYST0_FTYPE 0x0003 /* Frame type */
--#define B43_RX_PHYST0_CCK 0x0000 /* Frame type: CCK */
--#define B43_RX_PHYST0_OFDM 0x0001 /* Frame type: OFDM */
--#define B43_RX_PHYST0_PRE_N 0x0002 /* Pre-standard N-PHY frame */
--#define B43_RX_PHYST0_STD_N 0x0003 /* Standard N-PHY frame */
-+#define B43_RX_PHYST0_FTYPE 0x0003 /* Frame type */
-+#define B43_RX_PHYST0_CCK 0x0000 /* Frame type: CCK */
-+#define B43_RX_PHYST0_OFDM 0x0001 /* Frame type: OFDM */
-+#define B43_RX_PHYST0_PRE_N 0x0002 /* Pre-standard N-PHY frame */
-+#define B43_RX_PHYST0_STD_N 0x0003 /* Standard N-PHY frame */
-
- /* PHY RX Status 2 */
--#define B43_RX_PHYST2_LNAG 0xC000 /* LNA Gain */
-+#define B43_RX_PHYST2_LNAG 0xC000 /* LNA Gain */
- #define B43_RX_PHYST2_LNAG_SHIFT 14
--#define B43_RX_PHYST2_PNAG 0x3C00 /* PNA Gain */
-+#define B43_RX_PHYST2_PNAG 0x3C00 /* PNA Gain */
- #define B43_RX_PHYST2_PNAG_SHIFT 10
--#define B43_RX_PHYST2_FOFF 0x03FF /* F offset */
-+#define B43_RX_PHYST2_FOFF 0x03FF /* F offset */
-
- /* PHY RX Status 3 */
--#define B43_RX_PHYST3_DIGG 0x1800 /* DIG Gain */
-+#define B43_RX_PHYST3_DIGG 0x1800 /* DIG Gain */
- #define B43_RX_PHYST3_DIGG_SHIFT 11
--#define B43_RX_PHYST3_TRSTATE 0x0400 /* TR state */
-+#define B43_RX_PHYST3_TRSTATE 0x0400 /* TR state */
-
- /* MAC RX Status */
--#define B43_RX_MAC_BEACONSENT 0x00008000 /* Beacon send flag */
--#define B43_RX_MAC_KEYIDX 0x000007E0 /* Key index */
--#define B43_RX_MAC_KEYIDX_SHIFT 5
--#define B43_RX_MAC_DECERR 0x00000010 /* Decrypt error */
--#define B43_RX_MAC_DEC 0x00000008 /* Decryption attempted */
--#define B43_RX_MAC_PADDING 0x00000004 /* Pad bytes present */
--#define B43_RX_MAC_RESP 0x00000002 /* Response frame transmitted */
--#define B43_RX_MAC_FCSERR 0x00000001 /* FCS error */
-+#define B43_RX_MAC_RXST_VALID 0x01000000 /* PHY RXST valid */
-+#define B43_RX_MAC_TKIP_MICERR 0x00100000 /* TKIP MIC error */
-+#define B43_RX_MAC_TKIP_MICATT 0x00080000 /* TKIP MIC attempted */
-+#define B43_RX_MAC_AGGTYPE 0x00060000 /* Aggregation type */
-+#define B43_RX_MAC_AGGTYPE_SHIFT 17
-+#define B43_RX_MAC_AMSDU 0x00010000 /* A-MSDU mask */
-+#define B43_RX_MAC_BEACONSENT 0x00008000 /* Beacon sent flag */
-+#define B43_RX_MAC_KEYIDX 0x000007E0 /* Key index */
-+#define B43_RX_MAC_KEYIDX_SHIFT 5
-+#define B43_RX_MAC_DECERR 0x00000010 /* Decrypt error */
-+#define B43_RX_MAC_DEC 0x00000008 /* Decryption attempted */
-+#define B43_RX_MAC_PADDING 0x00000004 /* Pad bytes present */
-+#define B43_RX_MAC_RESP 0x00000002 /* Response frame transmitted */
-+#define B43_RX_MAC_FCSERR 0x00000001 /* FCS error */
-
- /* RX channel */
--#define B43_RX_CHAN_GAIN 0xFC00 /* Gain */
--#define B43_RX_CHAN_GAIN_SHIFT 10
--#define B43_RX_CHAN_ID 0x03FC /* Channel ID */
--#define B43_RX_CHAN_ID_SHIFT 2
--#define B43_RX_CHAN_PHYTYPE 0x0003 /* PHY type */
-+#define B43_RX_CHAN_40MHZ 0x1000 /* 40 Mhz channel width */
-+#define B43_RX_CHAN_5GHZ 0x0800 /* 5 Ghz band */
-+#define B43_RX_CHAN_ID 0x07F8 /* Channel ID */
-+#define B43_RX_CHAN_ID_SHIFT 3
-+#define B43_RX_CHAN_PHYTYPE 0x0007 /* PHY type */
-+
-
- u8 b43_plcp_get_ratecode_cck(const u8 bitrate);
- u8 b43_plcp_get_ratecode_ofdm(const u8 bitrate);
-diff -up linux-2.6.23.noarch/drivers/net/wireless/b43/b43.h.orig linux-2.6.23.noarch/drivers/net/wireless/b43/b43.h
---- linux-2.6.23.noarch/drivers/net/wireless/b43/b43.h.orig 2008-01-08 20:02:56.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/net/wireless/b43/b43.h 2008-01-08 20:15:18.000000000 -0500
-@@ -273,6 +273,8 @@ enum {
- #define B43_PHYTYPE_A 0x00
- #define B43_PHYTYPE_B 0x01
- #define B43_PHYTYPE_G 0x02
-+#define B43_PHYTYPE_N 0x04
-+#define B43_PHYTYPE_LP 0x05
- /* PHYRegisters */
- #define B43_PHY_ILT_A_CTRL 0x0072
-diff -up linux-2.6.23.noarch/drivers/ssb/scan.c.orig linux-2.6.23.noarch/drivers/ssb/scan.c
---- linux-2.6.23.noarch/drivers/ssb/scan.c.orig 2008-01-08 20:02:57.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/ssb/scan.c 2008-01-08 20:15:18.000000000 -0500
-@@ -388,6 +388,17 @@ int ssb_bus_scan(struct ssb_bus *bus,
- case SSB_DEV_PCI:
- case SSB_DEV_PCIE:
- #ifdef CONFIG_SSB_DRIVER_PCICORE
-+ if (bus->bustype == SSB_BUSTYPE_PCI) {
-+ /* Ignore PCI cores on PCI-E cards.
-+ * Ignore PCI-E cores on PCI cards. */
-+ if (dev->id.coreid == SSB_DEV_PCI) {
-+ if (bus->host_pci->is_pcie)
-+ continue;
-+ } else {
-+ if (!bus->host_pci->is_pcie)
-+ continue;
-+ }
-+ }
- if (bus->pcicore.dev) {
- ssb_printk(KERN_WARNING PFX
- "WARNING: Multiple PCI(E) cores found\n");
- Previous message (by thread): rpms/yanone-kaffeesatz-fonts/F-7 yanone-kaffeesatz-fonts-fontconfig.conf, NONE, 1.1 yanone-kaffeesatz-fonts.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Next message (by thread): comps comps-f7.xml.in, 1.299, 1.300 comps-f8.xml.in, 1.204, 1.205 comps-f9.xml.in, 1.230, 1.231
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list