* [RFT] ar9170: downgrade BUG_ON() on unexpected mdpu
From: Luis R. Rodriguez @ 2009-08-14 2:01 UTC (permalink / raw)
To: linux-wireless; +Cc: Luis R. Rodriguez, Christian Lamparter
If someone pulls the harware out while RX'ing a lot of traffic
I would funky data may be passed, BUG_ON() seems pretty extreme
so lets just drop the frame as we do when the length does not
meet our criteria for processing.
Cc: Christian Lamparter <chunkeey@web.de>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
This one depends on my previous patch.
drivers/net/wireless/ath/ar9170/main.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ar9170/main.c b/drivers/net/wireless/ath/ar9170/main.c
index 75c317d..0bbbc36 100644
--- a/drivers/net/wireless/ath/ar9170/main.c
+++ b/drivers/net/wireless/ath/ar9170/main.c
@@ -1068,8 +1068,11 @@ static void ar9170_handle_mpdu(struct ar9170 *ar, u8 *buf, int len)
break;
default:
- BUG_ON(1);
- break;
+ if (ar9170_nag_limiter(ar))
+ printk(KERN_ERR "%s: rx'd unexpected "
+ "type of MPDU.\n",
+ wiphy_name(ar->hw->wiphy));
+ return;
}
if (unlikely(mpdu_len < FCS_LEN))
--
1.6.3.3
^ permalink raw reply related
* Re: [RFT] ar9170: check mpdu len on single mpdu before processing
From: Luis R. Rodriguez @ 2009-08-14 2:41 UTC (permalink / raw)
To: linux-wireless; +Cc: Luis R. Rodriguez, Stephen Chen, Christian Lamparter
In-Reply-To: <1250214676-10608-1-git-send-email-lrodriguez@atheros.com>
On Thu, Aug 13, 2009 at 6:51 PM, Luis R.
Rodriguez<lrodriguez@atheros.com> wrote:
> BTW Chris, Stephen points out we *can* use packet mode for
> RX with Otus devices.
This is true but if we have stream mode working it seems best to keep
it I think. Turns out we *do* seem to use it for Windows.
Luis
^ permalink raw reply
* compat-wireless-2009-08-13 ath9k timeouts
From: Howard Chu @ 2009-08-14 3:03 UTC (permalink / raw)
To: linux-wireless@vger.kernel.org
I just built this on my 2.6.31-rc5 kernel. Using the driver results in a flood of
[ 78.598403] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.599508] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.600500] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.600833] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.600833] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.600833] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
[ 78.601378] ath9k: AR_INTR_SYNC_LOCAL_TIMEOUT
in dmesg, and throughput is extremely slow. Surprising that there are multiple
messages in a single time tick.
I also tried with the ath9k driver from wireless-testing, as of commit
3fbf09eb3916 and got the same result.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
^ permalink raw reply
* Re: [PATCH v2 00/25] wireless: cleanup and reorganize kconfig
From: Larry Finger @ 2009-08-14 3:33 UTC (permalink / raw)
To: Luis R. Rodriguez; +Cc: linville, linux-wireless
In-Reply-To: <1250210584-13374-1-git-send-email-lrodriguez@atheros.com>
Luis R. Rodriguez wrote:
> John, here's a second iteration of this series, this time
> I'm using a menu (config) which expands upon selection for
> groups which have only a few drivers. For groups which do tend
> to pollute your screen I've put them under their own menu
> (menuconfig). At first I had each group with an appended
> "wireless drivers support" but in the end that seemed too
> odd so I removed it and now group drivers are pivoted by
> the vendor driver.
>
> I've kept rndis_wlan on its own although only currently
> known chipsets which support it are Broadcom based.
> I also don't expect old rndis_wlan users to know
> that this is a broadcom driver for now so its better
> to keep that apart.
>
> Let me know if you like the color of the shed, its
> understandable if you dislike it.
#4 is missing this time. That is probably the reason that #13 has some
fuzz, and #15 fails. In addition, once you apply past #3, youo get an
error
drivers/net/wireless/Kconfig:498: file
'drivers/net/wireless/p54/Kconfig' is already sourced from
'drivers/net/wireless/Kconfig'
make[1]: *** [xconfig] Error 1
make: *** [xconfig] Error 2
Larry
^ permalink raw reply
* Re: [PATCH v2 00/25] wireless: cleanup and reorganize kconfig
From: Luis R. Rodriguez @ 2009-08-14 3:41 UTC (permalink / raw)
To: Larry Finger
Cc: Luis Rodriguez, linville@tuxdriver.com,
linux-wireless@vger.kernel.org
In-Reply-To: <4A84DB04.6070105@lwfinger.net>
On Thu, Aug 13, 2009 at 08:33:24PM -0700, Larry Finger wrote:
> Luis R. Rodriguez wrote:
> > John, here's a second iteration of this series, this time
> > I'm using a menu (config) which expands upon selection for
> > groups which have only a few drivers. For groups which do tend
> > to pollute your screen I've put them under their own menu
> > (menuconfig). At first I had each group with an appended
> > "wireless drivers support" but in the end that seemed too
> > odd so I removed it and now group drivers are pivoted by
> > the vendor driver.
> >
> > I've kept rndis_wlan on its own although only currently
> > known chipsets which support it are Broadcom based.
> > I also don't expect old rndis_wlan users to know
> > that this is a broadcom driver for now so its better
> > to keep that apart.
> >
> > Let me know if you like the color of the shed, its
> > understandable if you dislike it.
>
> #4 is missing this time. That is probably the reason that #13 has some
> fuzz, and #15 fails. In addition, once you apply past #3, youo get an
> error
> drivers/net/wireless/Kconfig:498: file
> 'drivers/net/wireless/p54/Kconfig' is already sourced from
> 'drivers/net/wireless/Kconfig'
> make[1]: *** [xconfig] Error 1
> make: *** [xconfig] Error 2
Oh ok, thanks I'll resend, also noticed a typo on #15. Will resend that one as well.
Luis
^ permalink raw reply
* Revert commit in ath9k
From: Sujith @ 2009-08-14 3:42 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
John,
Can you revert the commit - "ath9k: Change DEBUG level for certain interrupts" ?
This interrupt seems to trigger fairly often and floods the log.
The driver does seem to work with this message suppressed.
(which was the original behaviour).
The actual cause for this bug is still unknown, but until it is
found and fixed, the earlier behaviour can be retained.
Sorry for the trouble. :)
Sujith
^ permalink raw reply
* [PATCH v3 16/25] wireless: organize group drivers alphabetically
From: Luis R. Rodriguez @ 2009-08-14 3:46 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Luis R. Rodriguez
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
This fixes a typo I made when moving :
source "drivers/net/wireless/wl12xx/Kconfig"
up, I had chopped off the ending '"'.
drivers/net/wireless/Kconfig | 286 +++++++++++++++++++++---------------------
1 files changed, 144 insertions(+), 142 deletions(-)
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 4ed50f6..a267887 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -110,77 +110,73 @@ menuconfig WLAN_80211
This option does not affect the kernel build, it only
lets you choose drivers.
-menuconfig MARVELL_80211
- bool "Marvell"
- depends on WLAN_80211
- ---help---
- This will enable the support for Marvell wireless drivers. This includes
- the drivers: libertas, libertas_tf, and mwl8k.
+source "drivers/net/wireless/ath/Kconfig"
-if MARVELL_80211
-config LIBERTAS
- tristate "Marvell 8xxx Libertas WLAN driver support"
+config ATMEL_80211
+ bool "Atmel"
depends on WLAN_80211
- select WIRELESS_EXT
- select LIB80211
- select FW_LOADER
---help---
- A library for Marvell Libertas 8xxx devices.
-
-config LIBERTAS_USB
- tristate "Marvell Libertas 8388 USB 802.11b/g cards"
- depends on LIBERTAS && USB
- ---help---
- A driver for Marvell Libertas 8388 USB devices.
+ This will enable the support for Atmel wireless drivers.
-config LIBERTAS_CS
- tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
- depends on LIBERTAS && PCMCIA
- select FW_LOADER
- ---help---
- A driver for Marvell Libertas 8385 CompactFlash devices.
+if ATMEL_80211
-config LIBERTAS_SDIO
- tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards"
- depends on LIBERTAS && MMC
- ---help---
- A driver for Marvell Libertas 8385/8686/8688 SDIO devices.
+config ATMEL
+ tristate "Atmel at76c50x chipset 802.11b support"
+ depends on (PCI || PCMCIA) && WLAN_80211
+ select WIRELESS_EXT
+ select FW_LOADER
+ select CRC32
+ ---help---
+ A driver 802.11b wireless cards based on the Atmel fast-vnet
+ chips. This driver supports standard Linux wireless extensions.
-config LIBERTAS_SPI
- tristate "Marvell Libertas 8686 SPI 802.11b/g cards"
- depends on LIBERTAS && SPI
- ---help---
- A driver for Marvell Libertas 8686 SPI devices.
+ Many cards based on this chipset do not have flash memory
+ and need their firmware loaded at start-up. If yours is
+ one of these, you will need to provide a firmware image
+ to be loaded into the card by the driver. The Atmel
+ firmware package can be downloaded from
+ <http://www.thekelleys.org.uk/atmel>
-config LIBERTAS_DEBUG
- bool "Enable full debugging output in the Libertas module."
- depends on LIBERTAS
- ---help---
- Debugging support.
+config PCI_ATMEL
+ tristate "Atmel at76c506 PCI cards"
+ depends on ATMEL && PCI
+ ---help---
+ Enable support for PCI and mini-PCI cards containing the
+ Atmel at76c506 chip.
-config LIBERTAS_THINFIRM
- tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware"
- depends on WLAN_80211 && MAC80211
+config PCMCIA_ATMEL
+ tristate "Atmel at76c502/at76c504 PCMCIA cards"
+ depends on ATMEL && PCMCIA
+ select WIRELESS_EXT
select FW_LOADER
+ select CRC32
---help---
- A library for Marvell Libertas 8xxx devices using thinfirm.
+ Enable support for PCMCIA cards containing the
+ Atmel at76c502 and at76c504 chips.
-config LIBERTAS_THINFIRM_USB
- tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
- depends on LIBERTAS_THINFIRM && USB
- ---help---
- A driver for Marvell Libertas 8388 USB devices using thinfirm.
+config AT76C50X_USB
+ tristate "Atmel at76c503/at76c505/at76c505a USB cards"
+ depends on MAC80211 && WLAN_80211 && USB
+ select FW_LOADER
+ ---help---
+ Enable support for USB Wireless devices using Atmel at76c503,
+ at76c505 or at76c505a chips.
-config MWL8K
- tristate "Marvell 88W8xxx PCI/PCIe Wireless support"
- depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+endif # ATMEL_80211
+
+config BROADCOM_80211
+ bool "Broadcom wireless driver support"
+ depends on WLAN_80211
---help---
- This driver supports Marvell TOPDOG 802.11 wireless cards.
+ This will enable the support for Broadcom wireless drivers. This
+ includes b43 driver and the b43legacy driver.
- To compile this driver as a module, choose M here: the module
- will be called mwl8k. If unsure, say N.
+if BROADCOM_80211
-endif # MARVELL_80211
+source "drivers/net/wireless/b43/Kconfig"
+source "drivers/net/wireless/b43legacy/Kconfig"
+
+endif # BROADCOM_80211
config CISCO_80211
bool "Cisco"
@@ -232,57 +228,20 @@ config AIRO_CS
endif # CISCO_80211
-config ATMEL_80211
- bool "Atmel"
+menuconfig INTEL_80211
+ bool "Intel"
depends on WLAN_80211
---help---
- This will enable the support for Atmel wireless drivers.
-
-if ATMEL_80211
-
-config ATMEL
- tristate "Atmel at76c50x chipset 802.11b support"
- depends on (PCI || PCMCIA) && WLAN_80211
- select WIRELESS_EXT
- select FW_LOADER
- select CRC32
- ---help---
- A driver 802.11b wireless cards based on the Atmel fast-vnet
- chips. This driver supports standard Linux wireless extensions.
-
- Many cards based on this chipset do not have flash memory
- and need their firmware loaded at start-up. If yours is
- one of these, you will need to provide a firmware image
- to be loaded into the card by the driver. The Atmel
- firmware package can be downloaded from
- <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
- tristate "Atmel at76c506 PCI cards"
- depends on ATMEL && PCI
- ---help---
- Enable support for PCI and mini-PCI cards containing the
- Atmel at76c506 chip.
+ This will enable the support for Intel wireless drivers. This
+ includes ipw2100, ipw2200, iwl3945, iwlagn, and iwmc3200wifi
-config PCMCIA_ATMEL
- tristate "Atmel at76c502/at76c504 PCMCIA cards"
- depends on ATMEL && PCMCIA
- select WIRELESS_EXT
- select FW_LOADER
- select CRC32
- ---help---
- Enable support for PCMCIA cards containing the
- Atmel at76c502 and at76c504 chips.
+if INTEL_80211
-config AT76C50X_USB
- tristate "Atmel at76c503/at76c505/at76c505a USB cards"
- depends on MAC80211 && WLAN_80211 && USB
- select FW_LOADER
- ---help---
- Enable support for USB Wireless devices using Atmel at76c503,
- at76c505 or at76c505a chips.
+source "drivers/net/wireless/ipw2x00/Kconfig"
+source "drivers/net/wireless/iwlwifi/Kconfig"
+source "drivers/net/wireless/iwmc3200wifi/Kconfig"
-endif # ATMEL_80211
+endif # INTEL_80211
config CONEXANT_ST_80211
bool "Intersil / Conexant / STEricsson"
@@ -347,50 +306,79 @@ config PRISM54
endif # CONEXANT_ST_80211
-config ZYDAS_80211
- bool "ZyDAS"
+menuconfig MARVELL_80211
+ bool "Marvell"
depends on WLAN_80211
---help---
- This will enable the support for ZyDAS wireless drivers. This includes
- the 802.11g zd1211rw usb driver and the older 802.11b zd1201 usb driver.
+ This will enable the support for Marvell wireless drivers. This includes
+ the drivers: libertas, libertas_tf, and mwl8k.
-if ZYDAS_80211
+if MARVELL_80211
+config LIBERTAS
+ tristate "Marvell 8xxx Libertas WLAN driver support"
+ depends on WLAN_80211
+ select WIRELESS_EXT
+ select LIB80211
+ select FW_LOADER
+ ---help---
+ A library for Marvell Libertas 8xxx devices.
-source "drivers/net/wireless/zd1211rw/Kconfig"
+config LIBERTAS_USB
+ tristate "Marvell Libertas 8388 USB 802.11b/g cards"
+ depends on LIBERTAS && USB
+ ---help---
+ A driver for Marvell Libertas 8388 USB devices.
-config USB_ZD1201
- tristate "USB ZD1201 based Wireless device support"
- depends on USB && WLAN_80211
- select WIRELESS_EXT
+config LIBERTAS_CS
+ tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
+ depends on LIBERTAS && PCMCIA
select FW_LOADER
---help---
- Say Y if you want to use wireless LAN adapters based on the ZyDAS
- ZD1201 chip.
+ A driver for Marvell Libertas 8385 CompactFlash devices.
- This driver makes the adapter appear as a normal Ethernet interface,
- typically on wlan0.
+config LIBERTAS_SDIO
+ tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards"
+ depends on LIBERTAS && MMC
+ ---help---
+ A driver for Marvell Libertas 8385/8686/8688 SDIO devices.
- The zd1201 device requires external firmware to be loaded.
- This can be found at http://linux-lc100020.sourceforge.net/
+config LIBERTAS_SPI
+ tristate "Marvell Libertas 8686 SPI 802.11b/g cards"
+ depends on LIBERTAS && SPI
+ ---help---
+ A driver for Marvell Libertas 8686 SPI devices.
- To compile this driver as a module, choose M here: the
- module will be called zd1201.
+config LIBERTAS_DEBUG
+ bool "Enable full debugging output in the Libertas module."
+ depends on LIBERTAS
+ ---help---
+ Debugging support.
-endif # ZYDAS_80211
+config LIBERTAS_THINFIRM
+ tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware"
+ depends on WLAN_80211 && MAC80211
+ select FW_LOADER
+ ---help---
+ A library for Marvell Libertas 8xxx devices using thinfirm.
-config BROADCOM_80211
- bool "Broadcom"
- depends on WLAN_80211
+config LIBERTAS_THINFIRM_USB
+ tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
+ depends on LIBERTAS_THINFIRM && USB
---help---
- This will enable the support for Broadcom wireless drivers. This
- includes b43 driver, b43legacy driver and the rndis_wlan driver.
+ A driver for Marvell Libertas 8388 USB devices using thinfirm.
-if BROADCOM_80211
+config MWL8K
+ tristate "Marvell 88W8xxx PCI/PCIe Wireless support"
+ depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+ ---help---
+ This driver supports Marvell TOPDOG 802.11 wireless cards.
-source "drivers/net/wireless/b43/Kconfig"
-source "drivers/net/wireless/b43legacy/Kconfig"
+ To compile this driver as a module, choose M here: the module
+ will be called mwl8k. If unsure, say N.
-endif # BROADCOM_80211
+endif # MARVELL_80211
+
+source "drivers/net/wireless/rt2x00/Kconfig"
config REALTEK_80211
bool "Realtek"
@@ -488,24 +476,38 @@ config RTL8187_LEDS
endif # REALTEK_80211
-menuconfig INTEL_80211
- bool "Intel"
+source "drivers/net/wireless/wl12xx/Kconfig"
+
+config ZYDAS_80211
+ bool "ZyDAS"
depends on WLAN_80211
---help---
- This will enable the support for Intel wireless drivers. This
- includes ipw2100, ipw2200, iwl3945, iwlagn, and iwmc3200wifi
+ This will enable the support for ZyDAS wireless drivers. This includes
+ the 802.11g zd1211rw usb driver and the older 802.11b zd1201 usb driver.
-if INTEL_80211
+if ZYDAS_80211
-source "drivers/net/wireless/ipw2x00/Kconfig"
-source "drivers/net/wireless/iwlwifi/Kconfig"
-source "drivers/net/wireless/iwmc3200wifi/Kconfig"
+source "drivers/net/wireless/zd1211rw/Kconfig"
-endif # INTEL_80211
+config USB_ZD1201
+ tristate "USB ZD1201 based Wireless device support"
+ depends on USB && WLAN_80211
+ select WIRELESS_EXT
+ select FW_LOADER
+ ---help---
+ Say Y if you want to use wireless LAN adapters based on the ZyDAS
+ ZD1201 chip.
-source "drivers/net/wireless/ath/Kconfig"
-source "drivers/net/wireless/rt2x00/Kconfig"
-source "drivers/net/wireless/wl12xx/Kconfig"
+ This driver makes the adapter appear as a normal Ethernet interface,
+ typically on wlan0.
+
+ The zd1201 device requires external firmware to be loaded.
+ This can be found at http://linux-lc100020.sourceforge.net/
+
+ To compile this driver as a module, choose M here: the
+ module will be called zd1201.
+
+endif # ZYDAS_80211
config PCMCIA_RAYCS
tristate "Aviator/Raytheon 2.4GHz wireless support"
--
1.6.2.5
^ permalink raw reply related
* Re: [PATCH v2 00/25] wireless: cleanup and reorganize kconfig
From: Luis R. Rodriguez @ 2009-08-14 3:49 UTC (permalink / raw)
To: Luis Rodriguez
Cc: Larry Finger, linville@tuxdriver.com,
linux-wireless@vger.kernel.org
In-Reply-To: <20090814034105.GA28524@mosca>
On Thu, Aug 13, 2009 at 08:41:05PM -0700, Luis Rodriguez wrote:
> On Thu, Aug 13, 2009 at 08:33:24PM -0700, Larry Finger wrote:
> > Luis R. Rodriguez wrote:
> > > John, here's a second iteration of this series, this time
> > > I'm using a menu (config) which expands upon selection for
> > > groups which have only a few drivers. For groups which do tend
> > > to pollute your screen I've put them under their own menu
> > > (menuconfig). At first I had each group with an appended
> > > "wireless drivers support" but in the end that seemed too
> > > odd so I removed it and now group drivers are pivoted by
> > > the vendor driver.
> > >
> > > I've kept rndis_wlan on its own although only currently
> > > known chipsets which support it are Broadcom based.
> > > I also don't expect old rndis_wlan users to know
> > > that this is a broadcom driver for now so its better
> > > to keep that apart.
> > >
> > > Let me know if you like the color of the shed, its
> > > understandable if you dislike it.
> >
> > #4 is missing this time. That is probably the reason that #13 has some
> > fuzz, and #15 fails. In addition, once you apply past #3, youo get an
> > error
> > drivers/net/wireless/Kconfig:498: file
> > 'drivers/net/wireless/p54/Kconfig' is already sourced from
> > 'drivers/net/wireless/Kconfig'
> > make[1]: *** [xconfig] Error 1
> > make: *** [xconfig] Error 2
>
> Oh ok, thanks I'll resend, also noticed a typo on #15. Will resend that one as well.
The typo was on #16.
Luis
^ permalink raw reply
* Re: [PATCH] cfg80211: set SME state machine correctly for roam event
From: Zhu Yi @ 2009-08-14 3:58 UTC (permalink / raw)
To: Johannes Berg; +Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
In-Reply-To: <1250157249.21250.0.camel@johannes.local>
On Thu, 2009-08-13 at 17:54 +0800, Johannes Berg wrote:
> On Thu, 2009-08-13 at 17:23 +0800, Zhu Yi wrote:
> > When we receive a successful status in CFG80211_SME_CONNECTED state,
> > it is a roam event. We should mark it as a success result.
>
> But there's a cfg80211_roamed() call for that? Can the driver not tell
> the difference? It also sends a different event (ROAMED rather than
> CONNECTED) to userspace.
The device notifies both when it begins to roam and after the new
association is made. Yes, I think I missed the cfg80211_roamed call for
the real roam event. But there is still a reassociation path that the
above situation could happen (__cfg80211_connect_result is called while
in CFG80211_SME_CONNECTED state). Or do you think we should suppress
reassoc event from driver?
Actually, the code in __cfg80211_connect_result() has already handled
the (wdev->sme_state == CFG80211_SME_CONNECTED) case. The problem is
wdev->current_bss is set to NULL but leaves wdev->sme_state still as
CFG80211_SME_CONNECTED. So I think the patch is still valid, but needs a
better description.
Thanks,
-yi
^ permalink raw reply
* Re: [PATCH] nl80211 connect API support
From: Zhu Yi @ 2009-08-14 4:17 UTC (permalink / raw)
To: Jouni Malinen
Cc: hostap@lists.shmoo.com, linux-wireless@vger.kernel.org,
Johannes Berg, Samuel Ortiz
In-Reply-To: <20090813104635.GA7330@jm.kir.nu>
On Thu, 2009-08-13 at 18:46 +0800, Jouni Malinen wrote:
> It is not about whether it would be possible to use connect or not; it
> is about whether the additional features provided by separate auth/assoc
> commands are of use--and they are. wpa_supplicant will provide more
> functionality, e.g., FT, when using these commands. Any change to add
> support for the new NL80211_CMD_CONNECT must not break this existing
> mechanism; it is only to add support for drivers that cannot support the
> auth/assoc interface that provides more control to user space.
Ah, I see. This makes sense to me. I ignored the 11r code when I wrote
the code. Now I realized what it is used for (i.e. sme_event_auth). I'm
not sure if it can be done in cfg80211 SME easily, but it doesn't help
for connect API anyway. I'll send V2 according to your suggestion.
Johannes, I think we need a way in cfg80211 to tell connect vs.
auth/assoc. The current capability method (nl80211_send_wiphy) cannot do
this. For example,
if (dev->ops->connect || dev->ops->auth)
NLA_PUT_U32(msg, i, NL80211_CMD_CONNECT);
We need to either make NL80211_CMD_CONNECT only depends on ops->connect
or make NL80211_CMD_AUTH depends on ops->auth. Johannes, which one do
you prefer?
Thanks,
-yi
^ permalink raw reply
* Re: [ipw3945-devel] mmotm0812 - something in linux-next killed iwl-3945.c
From: Kalle Valo @ 2009-08-14 4:19 UTC (permalink / raw)
To: John W. Linville
Cc: Valdis.Kletnieks, Andrew Morton, Zhu Yi, linux-wireless,
linux-kernel, ipw3945-devel
In-Reply-To: <20090813172819.GD2647@tuxdriver.com>
"John W. Linville" <linville@tuxdriver.com> writes:
> On Thu, Aug 13, 2009 at 12:59:54PM -0400, Valdis.Kletnieks@vt.edu wrote:
>> Build bombs out:
>>
>> CC drivers/net/wireless/iwlwifi/iwl-3945.o
>> drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_pass_packet_to_mac80211':
>> drivers/net/wireless/iwlwifi/iwl-3945.c:580: error: 'hdr' undeclared (first use in this function)
[...]
>> Sorry, don't have a linux-next git tree, so no 'git blame' for what did it.
>> Hopefully somebody recognizes their handiwork... ;)
>
> I think this is the LEDS-related build failure, which already has a patch.
Correct. This patch fixes it:
http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=commit;h=44f282ff0e3797555e9ac54d8a772b65f72e3702
--
Kalle Valo
^ permalink raw reply
* Re: [PATCH v3 16/25] wireless: organize group drivers alphabetically
From: Larry Finger @ 2009-08-14 4:49 UTC (permalink / raw)
To: Luis R. Rodriguez; +Cc: linville, linux-wireless
In-Reply-To: <1250221576-1945-1-git-send-email-lrodriguez@atheros.com>
Luis R. Rodriguez wrote:
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
If you resent #4 at the same time that you sent the new version of
#16, something is eating that one. Neither the original or a resend
show up on the archives of the list. Is there some special character
in that patch that is causing it to be killed?
Larry
^ permalink raw reply
* Re: [PATCH v3 16/25] wireless: organize group drivers alphabetically
From: Luis R. Rodriguez @ 2009-08-14 4:57 UTC (permalink / raw)
To: Larry Finger
Cc: Luis Rodriguez, linville@tuxdriver.com,
linux-wireless@vger.kernel.org
In-Reply-To: <4A84ECF0.7070705@lwfinger.net>
On Thu, Aug 13, 2009 at 09:49:52PM -0700, Larry Finger wrote:
> Luis R. Rodriguez wrote:
> > Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
>
> If you resent #4 at the same time that you sent the new version of
> #16, something is eating that one. Neither the original or a resend
> show up on the archives of the list. Is there some special character
> in that patch that is causing it to be killed?
Hmmm.. odd, let me kick it again. I'll add you to the list.
Luis
^ permalink raw reply
* [PATCH v3 16/25] wireless: organize group drivers alphabetically
From: Luis R. Rodriguez @ 2009-08-14 4:59 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry.Finger, Luis R. Rodriguez
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
This is a simple resend attempt #3
This fixes a typo I made when moving :
source "drivers/net/wireless/wl12xx/Kconfig"
up, I had chopped off the ending '"'.
drivers/net/wireless/Kconfig | 286 +++++++++++++++++++++---------------------
1 files changed, 144 insertions(+), 142 deletions(-)
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 4ed50f6..a267887 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -110,77 +110,73 @@ menuconfig WLAN_80211
This option does not affect the kernel build, it only
lets you choose drivers.
-menuconfig MARVELL_80211
- bool "Marvell"
- depends on WLAN_80211
- ---help---
- This will enable the support for Marvell wireless drivers. This includes
- the drivers: libertas, libertas_tf, and mwl8k.
+source "drivers/net/wireless/ath/Kconfig"
-if MARVELL_80211
-config LIBERTAS
- tristate "Marvell 8xxx Libertas WLAN driver support"
+config ATMEL_80211
+ bool "Atmel"
depends on WLAN_80211
- select WIRELESS_EXT
- select LIB80211
- select FW_LOADER
---help---
- A library for Marvell Libertas 8xxx devices.
-
-config LIBERTAS_USB
- tristate "Marvell Libertas 8388 USB 802.11b/g cards"
- depends on LIBERTAS && USB
- ---help---
- A driver for Marvell Libertas 8388 USB devices.
+ This will enable the support for Atmel wireless drivers.
-config LIBERTAS_CS
- tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
- depends on LIBERTAS && PCMCIA
- select FW_LOADER
- ---help---
- A driver for Marvell Libertas 8385 CompactFlash devices.
+if ATMEL_80211
-config LIBERTAS_SDIO
- tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards"
- depends on LIBERTAS && MMC
- ---help---
- A driver for Marvell Libertas 8385/8686/8688 SDIO devices.
+config ATMEL
+ tristate "Atmel at76c50x chipset 802.11b support"
+ depends on (PCI || PCMCIA) && WLAN_80211
+ select WIRELESS_EXT
+ select FW_LOADER
+ select CRC32
+ ---help---
+ A driver 802.11b wireless cards based on the Atmel fast-vnet
+ chips. This driver supports standard Linux wireless extensions.
-config LIBERTAS_SPI
- tristate "Marvell Libertas 8686 SPI 802.11b/g cards"
- depends on LIBERTAS && SPI
- ---help---
- A driver for Marvell Libertas 8686 SPI devices.
+ Many cards based on this chipset do not have flash memory
+ and need their firmware loaded at start-up. If yours is
+ one of these, you will need to provide a firmware image
+ to be loaded into the card by the driver. The Atmel
+ firmware package can be downloaded from
+ <http://www.thekelleys.org.uk/atmel>
-config LIBERTAS_DEBUG
- bool "Enable full debugging output in the Libertas module."
- depends on LIBERTAS
- ---help---
- Debugging support.
+config PCI_ATMEL
+ tristate "Atmel at76c506 PCI cards"
+ depends on ATMEL && PCI
+ ---help---
+ Enable support for PCI and mini-PCI cards containing the
+ Atmel at76c506 chip.
-config LIBERTAS_THINFIRM
- tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware"
- depends on WLAN_80211 && MAC80211
+config PCMCIA_ATMEL
+ tristate "Atmel at76c502/at76c504 PCMCIA cards"
+ depends on ATMEL && PCMCIA
+ select WIRELESS_EXT
select FW_LOADER
+ select CRC32
---help---
- A library for Marvell Libertas 8xxx devices using thinfirm.
+ Enable support for PCMCIA cards containing the
+ Atmel at76c502 and at76c504 chips.
-config LIBERTAS_THINFIRM_USB
- tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
- depends on LIBERTAS_THINFIRM && USB
- ---help---
- A driver for Marvell Libertas 8388 USB devices using thinfirm.
+config AT76C50X_USB
+ tristate "Atmel at76c503/at76c505/at76c505a USB cards"
+ depends on MAC80211 && WLAN_80211 && USB
+ select FW_LOADER
+ ---help---
+ Enable support for USB Wireless devices using Atmel at76c503,
+ at76c505 or at76c505a chips.
-config MWL8K
- tristate "Marvell 88W8xxx PCI/PCIe Wireless support"
- depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+endif # ATMEL_80211
+
+config BROADCOM_80211
+ bool "Broadcom wireless driver support"
+ depends on WLAN_80211
---help---
- This driver supports Marvell TOPDOG 802.11 wireless cards.
+ This will enable the support for Broadcom wireless drivers. This
+ includes b43 driver and the b43legacy driver.
- To compile this driver as a module, choose M here: the module
- will be called mwl8k. If unsure, say N.
+if BROADCOM_80211
-endif # MARVELL_80211
+source "drivers/net/wireless/b43/Kconfig"
+source "drivers/net/wireless/b43legacy/Kconfig"
+
+endif # BROADCOM_80211
config CISCO_80211
bool "Cisco"
@@ -232,57 +228,20 @@ config AIRO_CS
endif # CISCO_80211
-config ATMEL_80211
- bool "Atmel"
+menuconfig INTEL_80211
+ bool "Intel"
depends on WLAN_80211
---help---
- This will enable the support for Atmel wireless drivers.
-
-if ATMEL_80211
-
-config ATMEL
- tristate "Atmel at76c50x chipset 802.11b support"
- depends on (PCI || PCMCIA) && WLAN_80211
- select WIRELESS_EXT
- select FW_LOADER
- select CRC32
- ---help---
- A driver 802.11b wireless cards based on the Atmel fast-vnet
- chips. This driver supports standard Linux wireless extensions.
-
- Many cards based on this chipset do not have flash memory
- and need their firmware loaded at start-up. If yours is
- one of these, you will need to provide a firmware image
- to be loaded into the card by the driver. The Atmel
- firmware package can be downloaded from
- <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
- tristate "Atmel at76c506 PCI cards"
- depends on ATMEL && PCI
- ---help---
- Enable support for PCI and mini-PCI cards containing the
- Atmel at76c506 chip.
+ This will enable the support for Intel wireless drivers. This
+ includes ipw2100, ipw2200, iwl3945, iwlagn, and iwmc3200wifi
-config PCMCIA_ATMEL
- tristate "Atmel at76c502/at76c504 PCMCIA cards"
- depends on ATMEL && PCMCIA
- select WIRELESS_EXT
- select FW_LOADER
- select CRC32
- ---help---
- Enable support for PCMCIA cards containing the
- Atmel at76c502 and at76c504 chips.
+if INTEL_80211
-config AT76C50X_USB
- tristate "Atmel at76c503/at76c505/at76c505a USB cards"
- depends on MAC80211 && WLAN_80211 && USB
- select FW_LOADER
- ---help---
- Enable support for USB Wireless devices using Atmel at76c503,
- at76c505 or at76c505a chips.
+source "drivers/net/wireless/ipw2x00/Kconfig"
+source "drivers/net/wireless/iwlwifi/Kconfig"
+source "drivers/net/wireless/iwmc3200wifi/Kconfig"
-endif # ATMEL_80211
+endif # INTEL_80211
config CONEXANT_ST_80211
bool "Intersil / Conexant / STEricsson"
@@ -347,50 +306,79 @@ config PRISM54
endif # CONEXANT_ST_80211
-config ZYDAS_80211
- bool "ZyDAS"
+menuconfig MARVELL_80211
+ bool "Marvell"
depends on WLAN_80211
---help---
- This will enable the support for ZyDAS wireless drivers. This includes
- the 802.11g zd1211rw usb driver and the older 802.11b zd1201 usb driver.
+ This will enable the support for Marvell wireless drivers. This includes
+ the drivers: libertas, libertas_tf, and mwl8k.
-if ZYDAS_80211
+if MARVELL_80211
+config LIBERTAS
+ tristate "Marvell 8xxx Libertas WLAN driver support"
+ depends on WLAN_80211
+ select WIRELESS_EXT
+ select LIB80211
+ select FW_LOADER
+ ---help---
+ A library for Marvell Libertas 8xxx devices.
-source "drivers/net/wireless/zd1211rw/Kconfig"
+config LIBERTAS_USB
+ tristate "Marvell Libertas 8388 USB 802.11b/g cards"
+ depends on LIBERTAS && USB
+ ---help---
+ A driver for Marvell Libertas 8388 USB devices.
-config USB_ZD1201
- tristate "USB ZD1201 based Wireless device support"
- depends on USB && WLAN_80211
- select WIRELESS_EXT
+config LIBERTAS_CS
+ tristate "Marvell Libertas 8385 CompactFlash 802.11b/g cards"
+ depends on LIBERTAS && PCMCIA
select FW_LOADER
---help---
- Say Y if you want to use wireless LAN adapters based on the ZyDAS
- ZD1201 chip.
+ A driver for Marvell Libertas 8385 CompactFlash devices.
- This driver makes the adapter appear as a normal Ethernet interface,
- typically on wlan0.
+config LIBERTAS_SDIO
+ tristate "Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards"
+ depends on LIBERTAS && MMC
+ ---help---
+ A driver for Marvell Libertas 8385/8686/8688 SDIO devices.
- The zd1201 device requires external firmware to be loaded.
- This can be found at http://linux-lc100020.sourceforge.net/
+config LIBERTAS_SPI
+ tristate "Marvell Libertas 8686 SPI 802.11b/g cards"
+ depends on LIBERTAS && SPI
+ ---help---
+ A driver for Marvell Libertas 8686 SPI devices.
- To compile this driver as a module, choose M here: the
- module will be called zd1201.
+config LIBERTAS_DEBUG
+ bool "Enable full debugging output in the Libertas module."
+ depends on LIBERTAS
+ ---help---
+ Debugging support.
-endif # ZYDAS_80211
+config LIBERTAS_THINFIRM
+ tristate "Marvell 8xxx Libertas WLAN driver support with thin firmware"
+ depends on WLAN_80211 && MAC80211
+ select FW_LOADER
+ ---help---
+ A library for Marvell Libertas 8xxx devices using thinfirm.
-config BROADCOM_80211
- bool "Broadcom"
- depends on WLAN_80211
+config LIBERTAS_THINFIRM_USB
+ tristate "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware"
+ depends on LIBERTAS_THINFIRM && USB
---help---
- This will enable the support for Broadcom wireless drivers. This
- includes b43 driver, b43legacy driver and the rndis_wlan driver.
+ A driver for Marvell Libertas 8388 USB devices using thinfirm.
-if BROADCOM_80211
+config MWL8K
+ tristate "Marvell 88W8xxx PCI/PCIe Wireless support"
+ depends on MAC80211 && PCI && WLAN_80211 && EXPERIMENTAL
+ ---help---
+ This driver supports Marvell TOPDOG 802.11 wireless cards.
-source "drivers/net/wireless/b43/Kconfig"
-source "drivers/net/wireless/b43legacy/Kconfig"
+ To compile this driver as a module, choose M here: the module
+ will be called mwl8k. If unsure, say N.
-endif # BROADCOM_80211
+endif # MARVELL_80211
+
+source "drivers/net/wireless/rt2x00/Kconfig"
config REALTEK_80211
bool "Realtek"
@@ -488,24 +476,38 @@ config RTL8187_LEDS
endif # REALTEK_80211
-menuconfig INTEL_80211
- bool "Intel"
+source "drivers/net/wireless/wl12xx/Kconfig"
+
+config ZYDAS_80211
+ bool "ZyDAS"
depends on WLAN_80211
---help---
- This will enable the support for Intel wireless drivers. This
- includes ipw2100, ipw2200, iwl3945, iwlagn, and iwmc3200wifi
+ This will enable the support for ZyDAS wireless drivers. This includes
+ the 802.11g zd1211rw usb driver and the older 802.11b zd1201 usb driver.
-if INTEL_80211
+if ZYDAS_80211
-source "drivers/net/wireless/ipw2x00/Kconfig"
-source "drivers/net/wireless/iwlwifi/Kconfig"
-source "drivers/net/wireless/iwmc3200wifi/Kconfig"
+source "drivers/net/wireless/zd1211rw/Kconfig"
-endif # INTEL_80211
+config USB_ZD1201
+ tristate "USB ZD1201 based Wireless device support"
+ depends on USB && WLAN_80211
+ select WIRELESS_EXT
+ select FW_LOADER
+ ---help---
+ Say Y if you want to use wireless LAN adapters based on the ZyDAS
+ ZD1201 chip.
-source "drivers/net/wireless/ath/Kconfig"
-source "drivers/net/wireless/rt2x00/Kconfig"
-source "drivers/net/wireless/wl12xx/Kconfig"
+ This driver makes the adapter appear as a normal Ethernet interface,
+ typically on wlan0.
+
+ The zd1201 device requires external firmware to be loaded.
+ This can be found at http://linux-lc100020.sourceforge.net/
+
+ To compile this driver as a module, choose M here: the
+ module will be called zd1201.
+
+endif # ZYDAS_80211
config PCMCIA_RAYCS
tristate "Aviator/Raytheon 2.4GHz wireless support"
--
1.6.2.5
^ permalink raw reply related
* Re: [PATCH] nl80211 connect API support
From: Johannes Berg @ 2009-08-14 5:50 UTC (permalink / raw)
To: Zhu Yi
Cc: Jouni Malinen, hostap@lists.shmoo.com,
linux-wireless@vger.kernel.org, Samuel Ortiz
In-Reply-To: <1250223474.4972.47.camel@debian>
[-- Attachment #1: Type: text/plain, Size: 733 bytes --]
On Fri, 2009-08-14 at 12:17 +0800, Zhu Yi wrote:
> Johannes, I think we need a way in cfg80211 to tell connect vs.
> auth/assoc. The current capability method (nl80211_send_wiphy) cannot do
> this. For example,
>
> if (dev->ops->connect || dev->ops->auth)
> NLA_PUT_U32(msg, i, NL80211_CMD_CONNECT);
>
> We need to either make NL80211_CMD_CONNECT only depends on ops->connect
> or make NL80211_CMD_AUTH depends on ops->auth. Johannes, which one do
> you prefer?
The latter is already there as far as I can see?
CMD(auth, AUTHENTICATE);
CMD(assoc, ASSOCIATE);
CMD(deauth, DEAUTHENTICATE);
CMD(disassoc, DISASSOCIATE);
so you should be able to check for these.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply
* [PATCH 1/5] ath9k: Add open loop power control support for AR9287.
From: Vivek Natarajan @ 2009-08-14 5:57 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
---
drivers/net/wireless/ath/ath9k/calib.c | 44 +++++++++++++++++++++----------
drivers/net/wireless/ath/ath9k/hw.c | 20 +++++++++++---
drivers/net/wireless/ath/ath9k/phy.h | 7 +++++
3 files changed, 52 insertions(+), 19 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c
index 26d8752..20f74b5 100644
--- a/drivers/net/wireless/ath/ath9k/calib.c
+++ b/drivers/net/wireless/ath/ath9k/calib.c
@@ -729,26 +729,42 @@ s16 ath9k_hw_getchan_noise(struct ath_hw *ah, struct ath9k_channel *chan)
static void ath9k_olc_temp_compensation(struct ath_hw *ah)
{
u32 rddata, i;
- int delta, currPDADC, regval;
+ int delta, currPDADC, regval, slope;
rddata = REG_READ(ah, AR_PHY_TX_PWRCTRL4);
-
currPDADC = MS(rddata, AR_PHY_TX_PWRCTRL_PD_AVG_OUT);
- if (ah->eep_ops->get_eeprom(ah, EEP_DAC_HPWR_5G))
- delta = (currPDADC - ah->initPDADC + 4) / 8;
- else
- delta = (currPDADC - ah->initPDADC + 5) / 10;
- if (delta != ah->PDADCdelta) {
- ah->PDADCdelta = delta;
- for (i = 1; i < AR9280_TX_GAIN_TABLE_SIZE; i++) {
- regval = ah->originalGain[i] - delta;
- if (regval < 0)
- regval = 0;
+ if (OLC_FOR_AR9287_10_LATER) {
+ if (ah->initPDADC == 0 || currPDADC == 0) {
+ return;
+ } else {
+ slope = ah->eep_ops->get_eeprom(ah, EEP_TEMPSENSE_SLOPE);
+ if (slope == 0)
+ delta = 0;
+ else
+ delta = ((currPDADC - ah->initPDADC)*4) / slope;
+ REG_RMW_FIELD(ah, AR_PHY_CH0_TX_PWRCTRL11,
+ AR_PHY_TX_PWRCTRL_OLPC_TEMP_COMP, delta);
+ REG_RMW_FIELD(ah, AR_PHY_CH1_TX_PWRCTRL11,
+ AR_PHY_TX_PWRCTRL_OLPC_TEMP_COMP, delta);
+ }
+ } else {
+ if (ah->eep_ops->get_eeprom(ah, EEP_DAC_HPWR_5G))
+ delta = (currPDADC - ah->initPDADC + 4) / 8;
+ else
+ delta = (currPDADC - ah->initPDADC + 5) / 10;
+
+ if (delta != ah->PDADCdelta) {
+ ah->PDADCdelta = delta;
+ for (i = 1; i < AR9280_TX_GAIN_TABLE_SIZE; i++) {
+ regval = ah->originalGain[i] - delta;
+ if (regval < 0)
+ regval = 0;
- REG_RMW_FIELD(ah, AR_PHY_TX_GAIN_TBL1 + i * 4,
- AR_PHY_TX_GAIN, regval);
+ REG_RMW_FIELD(ah, AR_PHY_TX_GAIN_TBL1 + i * 4,
+ AR_PHY_TX_GAIN, regval);
+ }
}
}
}
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 6eef7b4..1d2cc25 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1332,11 +1332,21 @@ static void ath9k_olc_init(struct ath_hw *ah)
{
u32 i;
- for (i = 0; i < AR9280_TX_GAIN_TABLE_SIZE; i++)
- ah->originalGain[i] =
- MS(REG_READ(ah, AR_PHY_TX_GAIN_TBL1 + i * 4),
- AR_PHY_TX_GAIN);
- ah->PDADCdelta = 0;
+ if (OLC_FOR_AR9287_10_LATER) {
+ REG_SET_BIT(ah, AR_PHY_TX_PWRCTRL9,
+ AR_PHY_TX_PWRCTRL9_RES_DC_REMOVAL);
+ ath9k_hw_analog_shift_rmw(ah, AR9287_AN_TXPC0,
+ AR9287_AN_TXPC0_TXPCMODE,
+ AR9287_AN_TXPC0_TXPCMODE_S,
+ AR9287_AN_TXPC0_TXPCMODE_TEMPSENSE);
+ udelay(100);
+ } else {
+ for (i = 0; i < AR9280_TX_GAIN_TABLE_SIZE; i++)
+ ah->originalGain[i] =
+ MS(REG_READ(ah, AR_PHY_TX_GAIN_TBL1 + i * 4),
+ AR_PHY_TX_GAIN);
+ ah->PDADCdelta = 0;
+ }
}
static u32 ath9k_regd_get_ctl(struct ath_regulatory *reg,
diff --git a/drivers/net/wireless/ath/ath9k/phy.h b/drivers/net/wireless/ath/ath9k/phy.h
index e83cd4a..dfda6f4 100644
--- a/drivers/net/wireless/ath/ath9k/phy.h
+++ b/drivers/net/wireless/ath/ath9k/phy.h
@@ -490,11 +490,18 @@ bool ath9k_hw_init_rf(struct ath_hw *ah,
#define AR_PHY_TX_PWRCTRL9 0xa27C
#define AR_PHY_TX_DESIRED_SCALE_CCK 0x00007C00
#define AR_PHY_TX_DESIRED_SCALE_CCK_S 10
+#define AR_PHY_TX_PWRCTRL9_RES_DC_REMOVAL 0x80000000
+#define AR_PHY_TX_PWRCTRL9_RES_DC_REMOVAL_S 31
#define AR_PHY_TX_GAIN_TBL1 0xa300
#define AR_PHY_TX_GAIN 0x0007F000
#define AR_PHY_TX_GAIN_S 12
+#define AR_PHY_CH0_TX_PWRCTRL11 0xa398
+#define AR_PHY_CH1_TX_PWRCTRL11 0xb398
+#define AR_PHY_TX_PWRCTRL_OLPC_TEMP_COMP 0x0000FC00
+#define AR_PHY_TX_PWRCTRL_OLPC_TEMP_COMP_S 10
+
#define AR_PHY_VIT_MASK2_M_46_61 0xa3a0
#define AR_PHY_MASK2_M_31_45 0xa3a4
#define AR_PHY_MASK2_M_16_30 0xa3a8
--
1.6.0.1
^ permalink raw reply related
* [PATCH 2/5] ath9k: Set AR_WA for AR9287 as it improves consistency in throughput.
From: Vivek Natarajan @ 2009-08-14 5:59 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
---
drivers/net/wireless/ath/ath9k/hw.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 1d2cc25..4f58112 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -3073,7 +3073,7 @@ void ath9k_hw_configpcipowersave(struct ath_hw *ah, int restore)
if (ah->config.pcie_waen) {
REG_WRITE(ah, AR_WA, ah->config.pcie_waen);
} else {
- if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
+ if (AR_SREV_9285(ah) || AR_SREV_9271(ah) || AR_SREV_9287(ah))
REG_WRITE(ah, AR_WA, AR9285_WA_DEFAULT);
/*
* On AR9280 chips bit 22 of 0x4004 needs to be set to
--
1.6.0.1
^ permalink raw reply related
* [PATCH 3/5] ath9k: Enable LEDs for AR9287 chipsets.
From: Vivek Natarajan @ 2009-08-14 6:00 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
---
drivers/net/wireless/ath/ath9k/ath9k.h | 3 ++-
drivers/net/wireless/ath/ath9k/hw.h | 1 +
drivers/net/wireless/ath/ath9k/main.c | 27 ++++++++++++++++-----------
drivers/net/wireless/ath/ath9k/pci.c | 6 +++---
4 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index 7a5a157..ee2ba96 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -453,7 +453,8 @@ struct ath_ani {
/* LED Control */
/********************/
-#define ATH_LED_PIN 1
+#define ATH_LED_PIN_DEF 1
+#define ATH_LED_PIN_9287 8
#define ATH_LED_ON_DURATION_IDLE 350 /* in msecs */
#define ATH_LED_OFF_DURATION_IDLE 250 /* in msecs */
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 0336981..de31a15 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -522,6 +522,7 @@ struct ath_hw {
u32 originalGain[22];
int initPDADC;
int PDADCdelta;
+ u8 led_pin;
struct ar5416IniArray iniModes;
struct ar5416IniArray iniCommon;
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index f452c20..f0e2d41 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -968,9 +968,9 @@ static void ath_led_blink_work(struct work_struct *work)
if ((sc->led_on_duration == ATH_LED_ON_DURATION_IDLE) ||
(sc->led_off_duration == ATH_LED_OFF_DURATION_IDLE))
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 0);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 0);
else
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN,
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin,
(sc->sc_flags & SC_OP_LED_ON) ? 1 : 0);
ieee80211_queue_delayed_work(sc->hw,
@@ -1002,7 +1002,7 @@ static void ath_led_brightness(struct led_classdev *led_cdev,
case LED_OFF:
if (led->led_type == ATH_LED_ASSOC ||
led->led_type == ATH_LED_RADIO) {
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN,
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin,
(led->led_type == ATH_LED_RADIO));
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
if (led->led_type == ATH_LED_RADIO)
@@ -1017,7 +1017,7 @@ static void ath_led_brightness(struct led_classdev *led_cdev,
ieee80211_queue_delayed_work(sc->hw,
&sc->ath_led_blink_work, 0);
} else if (led->led_type == ATH_LED_RADIO) {
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 0);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 0);
sc->sc_flags |= SC_OP_LED_ON;
} else {
sc->led_on_cnt++;
@@ -1062,7 +1062,7 @@ static void ath_deinit_leds(struct ath_softc *sc)
ath_unregister_led(&sc->tx_led);
ath_unregister_led(&sc->rx_led);
ath_unregister_led(&sc->radio_led);
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 1);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
}
static void ath_init_leds(struct ath_softc *sc)
@@ -1070,11 +1070,16 @@ static void ath_init_leds(struct ath_softc *sc)
char *trigger;
int ret;
+ if (AR_SREV_9287(sc->sc_ah))
+ sc->sc_ah->led_pin = ATH_LED_PIN_9287;
+ else
+ sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
+
/* Configure gpio 1 for output */
- ath9k_hw_cfg_output(sc->sc_ah, ATH_LED_PIN,
+ ath9k_hw_cfg_output(sc->sc_ah, sc->sc_ah->led_pin,
AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
/* LED off, active low */
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 1);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
INIT_DELAYED_WORK(&sc->ath_led_blink_work, ath_led_blink_work);
@@ -1153,9 +1158,9 @@ void ath_radio_enable(struct ath_softc *sc)
ath9k_hw_set_interrupts(ah, sc->imask);
/* Enable LED */
- ath9k_hw_cfg_output(ah, ATH_LED_PIN,
+ ath9k_hw_cfg_output(ah, ah->led_pin,
AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
- ath9k_hw_set_gpio(ah, ATH_LED_PIN, 0);
+ ath9k_hw_set_gpio(ah, ah->led_pin, 0);
ieee80211_wake_queues(sc->hw);
ath9k_ps_restore(sc);
@@ -1171,8 +1176,8 @@ void ath_radio_disable(struct ath_softc *sc)
ieee80211_stop_queues(sc->hw);
/* Disable LED */
- ath9k_hw_set_gpio(ah, ATH_LED_PIN, 1);
- ath9k_hw_cfg_gpio_input(ah, ATH_LED_PIN);
+ ath9k_hw_set_gpio(ah, ah->led_pin, 1);
+ ath9k_hw_cfg_gpio_input(ah, ah->led_pin);
/* Disable interrupts */
ath9k_hw_set_interrupts(ah, 0);
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index 616bdff..685a8ce 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -236,7 +236,7 @@ static int ath_pci_suspend(struct pci_dev *pdev, pm_message_t state)
struct ath_wiphy *aphy = hw->priv;
struct ath_softc *sc = aphy->sc;
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 1);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
pci_save_state(pdev);
pci_disable_device(pdev);
@@ -269,9 +269,9 @@ static int ath_pci_resume(struct pci_dev *pdev)
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
/* Enable LED */
- ath9k_hw_cfg_output(sc->sc_ah, ATH_LED_PIN,
+ ath9k_hw_cfg_output(sc->sc_ah, sc->sc_ah->led_pin,
AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
- ath9k_hw_set_gpio(sc->sc_ah, ATH_LED_PIN, 1);
+ ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, 1);
return 0;
}
--
1.6.0.1
^ permalink raw reply related
* [PATCH 4/5] ath9k: Fix ref power interpolation logic for AR9287 chipsets.
From: Vivek Natarajan @ 2009-08-14 6:02 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
---
drivers/net/wireless/ath/ath9k/eeprom_9287.c | 12 +++---------
1 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/eeprom_9287.c b/drivers/net/wireless/ath/ath9k/eeprom_9287.c
index aeb7f48..9590979 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c
@@ -374,7 +374,6 @@ static void ar9287_eeprom_get_tx_gain_index(struct ath_hw *ah,
u8 *pCalChans, u16 availPiers,
int8_t *pPwr)
{
- u8 pcdac, i = 0;
u16 idxL = 0, idxR = 0, numPiers;
bool match;
struct chan_centers centers;
@@ -392,17 +391,12 @@ static void ar9287_eeprom_get_tx_gain_index(struct ath_hw *ah,
&idxL, &idxR);
if (match) {
- pcdac = pRawDatasetOpLoop[idxL].pcdac[0][0];
- *pPwr = pRawDatasetOpLoop[idxL].pwrPdg[0][0];
+ *pPwr = (int8_t) pRawDatasetOpLoop[idxL].pwrPdg[0][0];
} else {
- pcdac = pRawDatasetOpLoop[idxR].pcdac[0][0];
- *pPwr = (pRawDatasetOpLoop[idxL].pwrPdg[0][0] +
- pRawDatasetOpLoop[idxR].pwrPdg[0][0])/2;
+ *pPwr = ((int8_t) pRawDatasetOpLoop[idxL].pwrPdg[0][0] +
+ (int8_t) pRawDatasetOpLoop[idxR].pwrPdg[0][0])/2;
}
- while ((pcdac > ah->originalGain[i]) &&
- (i < (AR9280_TX_GAIN_TABLE_SIZE - 1)))
- i++;
}
static void ar9287_eeprom_olpc_set_pdadcs(struct ath_hw *ah,
--
1.6.0.1
^ permalink raw reply related
* [PATCH 5/5] ath9k: Updates for AR9287_12 version of chipset.
From: Vivek Natarajan @ 2009-08-14 6:03 UTC (permalink / raw)
To: linville; +Cc: linux-wireless
Enable AsyncFIFO and AGGWEP for AR9287_12 and later revisions only.
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
---
drivers/net/wireless/ath/ath9k/hw.c | 6 +++---
drivers/net/wireless/ath/ath9k/reg.h | 9 ++++++++-
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 4f58112..9259f71 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2392,7 +2392,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
if (AR_SREV_9280_10_OR_LATER(ah))
REG_SET_BIT(ah, AR_GPIO_INPUT_EN_VAL, AR_GPIO_JTAG_DISABLE);
- if (AR_SREV_9287_10_OR_LATER(ah)) {
+ if (AR_SREV_9287_12_OR_LATER(ah)) {
/* Enable ASYNC FIFO */
REG_SET_BIT(ah, AR_MAC_PCU_ASYNC_FIFO_REG3,
AR_MAC_PCU_ASYNC_FIFO_REG3_DATAPATH_SEL);
@@ -2478,7 +2478,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
ath9k_hw_init_user_settings(ah);
- if (AR_SREV_9287_10_OR_LATER(ah)) {
+ if (AR_SREV_9287_12_OR_LATER(ah)) {
REG_WRITE(ah, AR_D_GBL_IFS_SIFS,
AR_D_GBL_IFS_SIFS_ASYNC_FIFO_DUR);
REG_WRITE(ah, AR_D_GBL_IFS_SLOT,
@@ -2494,7 +2494,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
REG_RMW_FIELD(ah, AR_AHB_MODE, AR_AHB_CUSTOM_BURST_EN,
AR_AHB_CUSTOM_BURST_ASYNC_FIFO_VAL);
}
- if (AR_SREV_9287_10_OR_LATER(ah)) {
+ if (AR_SREV_9287_12_OR_LATER(ah)) {
REG_SET_BIT(ah, AR_PCU_MISC_MODE2,
AR_PCU_MISC_MODE2_ENABLE_AGGWEP);
}
diff --git a/drivers/net/wireless/ath/ath9k/reg.h b/drivers/net/wireless/ath/ath9k/reg.h
index 13fd658..c9e1ac9 100644
--- a/drivers/net/wireless/ath/ath9k/reg.h
+++ b/drivers/net/wireless/ath/ath9k/reg.h
@@ -744,6 +744,7 @@
#define AR_SREV_VERSION_9287 0x180
#define AR_SREV_REVISION_9287_10 0
#define AR_SREV_REVISION_9287_11 1
+#define AR_SREV_REVISION_9287_12 2
#define AR_SREV_VERSION_9271 0x140
#define AR_SREV_REVISION_9271_10 0
#define AR_SREV_REVISION_9271_11 1
@@ -817,7 +818,13 @@
(((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
(((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_11)))
-
+#define AR_SREV_9287_12(_ah) \
+ (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
+ ((_ah)->hw_version.macRev == AR_SREV_REVISION_9287_12))
+#define AR_SREV_9287_12_OR_LATER(_ah) \
+ (((_ah)->hw_version.macVersion > AR_SREV_VERSION_9287) || \
+ (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9287) && \
+ ((_ah)->hw_version.macRev >= AR_SREV_REVISION_9287_12)))
#define AR_SREV_9271(_ah) \
(((_ah))->hw_version.macVersion == AR_SREV_VERSION_9271)
#define AR_SREV_9271_10(_ah) \
--
1.6.0.1
^ permalink raw reply related
* Re: Revert commit in ath9k
From: Pavel Roskin @ 2009-08-14 6:09 UTC (permalink / raw)
To: Sujith; +Cc: linville, linux-wireless
In-Reply-To: <19076.56592.101907.186453@gargle.gargle.HOWL>
Quoting Sujith <Sujith.Manoharan@atheros.com>:
> John,
>
> Can you revert the commit - "ath9k: Change DEBUG level for certain
> interrupts" ?
> This interrupt seems to trigger fairly often and floods the log.
I think it would be better to revert only the part for the actually
triggered AR_INTR_SYNC_LOCAL_TIMEOUT. This way we'll learn of other
unexpected interrupts if they happen for some users.
--
Regards,
Pavel Roskin
^ permalink raw reply
* Re: Revert commit in ath9k
From: Sujith @ 2009-08-14 6:17 UTC (permalink / raw)
To: Pavel Roskin; +Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org
In-Reply-To: <20090814020913.0h159bvuo0sccwcg-cebfxv@webmail.spamcop.net>
Pavel Roskin wrote:
> Quoting Sujith <Sujith.Manoharan@atheros.com>:
>
> > John,
> >
> > Can you revert the commit - "ath9k: Change DEBUG level for certain
> > interrupts" ?
> > This interrupt seems to trigger fairly often and floods the log.
>
> I think it would be better to revert only the part for the actually
> triggered AR_INTR_SYNC_LOCAL_TIMEOUT. This way we'll learn of other
> unexpected interrupts if they happen for some users.
Well, the other interrupts are handled appropriately (marked as FATAL).
And the ISR does a chip reset for all interrupts marked as FATAL.
SYNC_LOCAL_TIMEOUT was the one I was really interested in, since I saw it
occurring in my machine - and was curious about its occurrence elsewhere.
Apparently, it is widespread. :)
Sujith
^ permalink raw reply
* Re: [PATCH v2 23/25] wireless: downgrade TI driver from menuconfig to config
From: Luciano Coelho @ 2009-08-14 7:03 UTC (permalink / raw)
To: ext Luis R. Rodriguez
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org,
Valo Kalle (Nokia-D/Tampere)
In-Reply-To: <1250210584-13374-24-git-send-email-lrodriguez@atheros.com>
ext Luis R. Rodriguez wrote:
> There's only a few options here so let this expand upon
> selection.
>
> Cc: Kalle Valo <kalle.valo@nokia.com>
> Cc: Luciano Coelho <luciano.coelho@nokia.com>
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
>
Acked-by: Luciano Coelho <luciano.coelho@nokia.com>
--
Cheers,
Luca.
^ permalink raw reply
* Re: [PATCH v2 24/25] wl12xx: be consistent with the other group driver entries
From: Luciano Coelho @ 2009-08-14 7:07 UTC (permalink / raw)
To: ext Luis R. Rodriguez
Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org,
Valo Kalle (Nokia-D/Tampere)
In-Reply-To: <1250210584-13374-25-git-send-email-lrodriguez@atheros.com>
ext Luis R. Rodriguez wrote:
> Other TI drivers can land here now.
>
> Cc: Kalle Valo <kalle.valo@nokia.com>
> Cc: Luciano Coelho <luciano.coelho@nokia.com>
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
> drivers/net/wireless/wl12xx/Kconfig | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/wl12xx/Kconfig b/drivers/net/wireless/wl12xx/Kconfig
> index 78029fd..f4510f7 100644
> --- a/drivers/net/wireless/wl12xx/Kconfig
> +++ b/drivers/net/wireless/wl12xx/Kconfig
> @@ -1,5 +1,5 @@
> config WL12XX
> - boolean "TI wl12xx driver support"
> + boolean "Texas Instruments"
> depends on MAC80211 && EXPERIMENTAL
> ---help---
> This will enable TI wl12xx driver support. The drivers make
>
I think the description of this option should be changed as well. What
about s/This will enable TI wl12xx driver support/This will enable
support for Texas Instruments chipsets/ ?
--
Cheers,
Luca.
^ permalink raw reply
* Re: [PATCH] nl80211 connect API support
From: Zhu Yi @ 2009-08-14 7:55 UTC (permalink / raw)
To: Johannes Berg
Cc: Jouni Malinen, hostap@lists.shmoo.com,
linux-wireless@vger.kernel.org, Samuel Ortiz
In-Reply-To: <1250229046.7696.0.camel@johannes.local>
On Fri, 2009-08-14 at 13:50 +0800, Johannes Berg wrote:
> On Fri, 2009-08-14 at 12:17 +0800, Zhu Yi wrote:
>
> > Johannes, I think we need a way in cfg80211 to tell connect vs.
> > auth/assoc. The current capability method (nl80211_send_wiphy) cannot do
> > this. For example,
> >
> > if (dev->ops->connect || dev->ops->auth)
> > NLA_PUT_U32(msg, i, NL80211_CMD_CONNECT);
> >
> > We need to either make NL80211_CMD_CONNECT only depends on ops->connect
> > or make NL80211_CMD_AUTH depends on ops->auth. Johannes, which one do
> > you prefer?
>
> The latter is already there as far as I can see?
>
> CMD(auth, AUTHENTICATE);
> CMD(assoc, ASSOCIATE);
> CMD(deauth, DEAUTHENTICATE);
> CMD(disassoc, DISASSOCIATE);
>
> so you should be able to check for these.
My bad. I'll use NL80211_CMD_AUTHENTICATE.
Thanks,
-yi
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox