Stephen Rothwell [Wed, 28 Sep 2011 08:32:34 +0000 (18:32 +1000)]
wireless/ath6kl: use of module_param requires the inclusion of moduleparam.h
Otheriwse the module.h split up fails like this:
drivers/net/wireless/ath/ath6kl/init.c:27:26: error: expected ')' before 'uint'
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 11:31:21 +0000 (14:31 +0300)]
ath6kl: improve wmi debug messages
Add a new debug level ATH6KL_DBG_WMI_DUMP and other minor
improvements to the wmi debug messages.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 11:31:11 +0000 (14:31 +0300)]
ath6kl: add debug logs for booting
Just to make it easier to find out why boot fails.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 11:30:58 +0000 (14:30 +0300)]
ath6kl: add sdio debug messages
Add extensive debug messages to sdio.c. Makes it easier to debug
various problems.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 11:30:45 +0000 (14:30 +0300)]
ath6kl: add prefix parameter to ath6kl_dbg_dump()
Makes it easier to recognise longs dumps.
Obligatory screenshot using "rx" prefix:
ath6kl: ath6kl_rx
rx
00000000: 10 10 00 00 00 00 08 30 00 00 00 00 00 00 f9 0b .......0........
rx
00000010: 2c 44 08 30 00 00 f9 0b 0c a4 02 00 00 00 73 d2 ,D.0..........s.
rx
00000020: 94 00 f9 0b 04 8c 01 00 02 00 07 02 02 00 f9 0b ................
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 20:33:28 +0000 (23:33 +0300)]
ath6kl: silence "invalid rate" warning
For some reason firmware is sending invalid rates when we try to
query current bitrate from ath6kl_get_station() and a warning is issued:
[ 3810.415720] ath6kl: invalid rate:
1935633515
[ 3811.105493] ath6kl: invalid rate:
1935633515
[ 3811.556063] ath6kl: invalid rate:
1935633515
As the warning happens way too often, convert the warning to a debug
message once we have a proper fix. But to make it easy to follow
how often the problem appears, add a debugfs to print
various statistics about workarounds and make this issue the first WAR.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Tue, 27 Sep 2011 08:05:26 +0000 (11:05 +0300)]
ath6kl: allow firmware to override firmware patch address
In some firmware versions their patch address has changed. If the firmware
provides one, use it to override the default address.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Tue, 27 Sep 2011 08:00:08 +0000 (11:00 +0300)]
ath6kl: fix TCP corruption
Commit
94e532d1a ("ath6kl: Fix system freeze under heavy data load")
aligns the skb data without checking if the skb is cloned. Because of
this ath6kl can corrupt the local TCP stack information that can result
in TCP retransmission failing and TCP connections stalling.
To avoid the corruption we need to copy the skb. Now the alignment
in ath6kl_htc_tx_buf_align() doesn't corrupt TCP packets anymore (and is
not even used for the cloned skb's that got copied since the alignment
of the data is handled at the copy time).
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Vasanthakumar Thiagarajan [Mon, 26 Sep 2011 09:19:03 +0000 (14:49 +0530)]
ath6kl: Remove unnecessary retrieval of first list entry in ath6kl_htc_tx_setup_scat_list()
It is unnecessary to take the first list entry from queue again for
transmission. Sometimes it may look racy when the head of the list
changes between subsequent retrival, but should not happen in
practical.
Reported-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Rajkumar Manoharan [Mon, 26 Sep 2011 08:59:18 +0000 (14:29 +0530)]
ath6kl: Fix compilation error while compiling w/o debug
drivers/net/wireless/ath/ath6kl/htc_hif.o:
In function `ath6kl_debug_fwlog_event':
drivers/net/wireless/ath/ath6kl/debug.h:109:
multiple definition of `ath6kl_debug_fwlog_event'
drivers/net/wireless/ath/ath6kl/debug.o:
drivers/net/wireless/ath/ath6kl/debug.h:109: first defined here
drivers/net/wireless/ath/ath6kl/htc_hif.o:
In function `ath6kl_debug_cleanup':
drivers/net/wireless/ath/ath6kl/debug.h:118:
multiple definition of `ath6kl_debug_cleanup'
drivers/net/wireless/ath/ath6kl/debug.o:
drivers/net/wireless/ath/ath6kl/debug.h:118: first defined here
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Vasanthakumar Thiagarajan [Fri, 23 Sep 2011 05:27:50 +0000 (10:57 +0530)]
ath6kl: Fix disconnect event reporting
Driver does not report disconnect event properly when in connecting state,
this leads to issues failures in starting reconnection. Send a disconnect
command to target when a disconnect event is received with reason code
other than 3 (DISCONNECT_CMD - disconnect request from host) to make the
frimware stop trying to connect even after giving disconnect event. There
will be one more disconnect event for this disconnect command with reason
code DISCONNECT_CMD which will be notified to cfg80211.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Mon, 19 Sep 2011 18:38:44 +0000 (21:38 +0300)]
ath6kl: pass only unicast frames for aggregation
When pinging form ar6003 to the AP RTT was high even when power save was
disabled:
100 packets transmitted, 97 received, 3% packet loss, time 99125ms
rtt min/avg/max/mdev = 1.875/46.733/795.506/139.181 ms
After some investigation one reason for this was that received
multicast traffic confused the aggrecation logic and caused 400 ms
timeouts when receiving multicast frames from AP.
A simple way to fix is to pass only unicast frames for aggregation. This
improves RTT:
100 packets transmitted, 99 received, 1% packet loss, time 99144ms
rtt min/avg/max/mdev = 2.083/13.084/403.390/56.794 ms
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Wed, 21 Sep 2011 13:57:29 +0000 (16:57 +0300)]
ath6kl: Report PMKSA candidate events through cfg80211
This allows RSN pre-authentication to be used when roaming decisions are
done in the target.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Vivek Natarajan [Mon, 19 Sep 2011 07:59:16 +0000 (13:29 +0530)]
ath6kl: Indicate the roaming capability of the firmware
When the rssi of the current AP drops, both wpa_supplicant and the
firmware may do a background scan to find a better AP and try to
associate. This might lead to a race condition where both may try
to connect to some AP based on their scan results.
Since the firmware is capable of handling roaming, let
wpa_supplicant know about this capability so that it will back off
from bgscan based roaming.
Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Kalle Valo [Thu, 22 Sep 2011 07:33:13 +0000 (10:33 +0300)]
Merge remote branch 'wireless-next/master' into ath6kl-next
Jouni Malinen [Mon, 19 Sep 2011 16:15:07 +0000 (19:15 +0300)]
ath6kl: Export beacon interval and DTIM period through STA info
Now that we allow the first Beacon frame after each connection to
be processed at the host, we can figure out the DTIM period and
expose it with Beacon interval through STA info BSS parameters
to user space.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:06 +0000 (19:15 +0300)]
ath6kl: Update BSS information after connection
Since we may end up using a dummy BSS entry when roaming, allow one Beacon
frame -based bssinfo from the current BSS to be processed prior to starting
to filter all bssinfo events. This allows cfg80211 BSS table to be filled
with proper data in the roaming case where the full Beacon data may not
have been present at the time of roamed event.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:05 +0000 (19:15 +0300)]
ath6kl: Remove unnecessary bssinfo event header conversion
There is no point in unconditionally converting the bssinfo header
to the old version since only the new header is being used and the
driver can as well read the values from it when needed. Leaving out
the conversion saves some extra memory copying.
In addition, use the calculated "rssi" value snr - 95 dBm to get the
proper value in cfg80211 BSS table (i.e., something that more or less
matches with the value used in STA info).
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:04 +0000 (19:15 +0300)]
ath6kl: Remove the unused node table implementation
Now that the scan results are reported directly to the cfg80211 BSS
table there is no need for maintaining this internal node table
implementation for scan results. Remove the definitions and node
table functions.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:03 +0000 (19:15 +0300)]
ath6kl: Replace internal node table with cfg80211 BSS table
The internal node table in ath6kl was not really used for any useful
purpose. It was just used to collect scan results during a scan and then
provide them in a burst to cfg80211 at the completion of the scan. There
is no point in doing this since cfg80211 is perfectly capable of
maintaining the BSS table and the BSS inform messages are sent in
separate function calls anyway.
This provides more complete information in the cfg80211 BSS table since
this allows Beacon and Probe Response frames to be distinguished and IEs
from them reported separately.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:02 +0000 (19:15 +0300)]
ath6kl: Remove unnecessary node table update on disconnect event
Since ath6kl does not actually update cfg80211 BSS table when this
event occurs, there is not much need for removing the entries from
the internal table that is not really used or exposed.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:01 +0000 (19:15 +0300)]
ath6kl: Remove RSSI update for internal node table
ath6kl does not actually update cfg80211 BSS table when this update
occurs, so there is not much need in updating the internal table
that is not used or exposed.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:15:00 +0000 (19:15 +0300)]
ath6kl: Remove deprecated WMI_OPT_RX_FRAME_EVENTID processing
This event has been deprecated and there is no need for ath6kl to
include code for processing it.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Jouni Malinen [Mon, 19 Sep 2011 16:14:59 +0000 (19:14 +0300)]
ath6kl: Fix BSS update on roaming
This fixes the BSS "update" just before the connected or roamed event.
The previous implementation was completely broken: it forced a hardcoded
signal strength and IEs from Association _Request_ frame instead of any
Beacon information. This broke various things, including PMKSA caching.
The current workaround for creating a dummy BSS entry before the roamed
event is not exactly ideal, but that is quite a bit better than the
previous state. As a future improvement, cfg80211 could potentially be
extended to allow this type of use or ath6kl could delay sending the
roamed event before receiving a BSS info event.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Randy Dunlap [Wed, 21 Sep 2011 18:02:37 +0000 (11:02 -0700)]
nfc: NFC_WILINK depends on NFC_NCI
nwcwilink.c uses nci_*() interfaces, so it should depend on
NFC_NCI.
Fixes these build errors:
ERROR: "nci_register_device" [drivers/nfc/nfcwilink.ko] undefined!
ERROR: "nci_allocate_device" [drivers/nfc/nfcwilink.ko] undefined!
ERROR: "nci_recv_frame" [drivers/nfc/nfcwilink.ko] undefined!
ERROR: "nci_free_device" [drivers/nfc/nfcwilink.ko] undefined!
ERROR: "nci_unregister_device" [drivers/nfc/nfcwilink.ko] undefined!
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Dan Carpenter [Wed, 21 Sep 2011 07:13:56 +0000 (10:13 +0300)]
mwifiex: remove unneeded NULL check
We dereference "rate" on the lines before so the checks here are too
late to help. This function is only called from
mwifiex_dump_station_info() and "rate" is always a non-NULL pointer
so the check can be removed.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Dan Carpenter [Wed, 21 Sep 2011 07:13:29 +0000 (10:13 +0300)]
mwifiex: add a kfree() to an error path
We're not likely to hit this small memory leak, but lets fix it
anyway to keep the static checkers happy.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Amit Beka [Tue, 20 Sep 2011 22:37:27 +0000 (15:37 -0700)]
iwlagn: remove duplicate list init
iwl_trans_rx_alloc is only called from iwl_rx_init, so no need
to init the lists twice.
Signed-off-by: Amit Beka <amit.beka@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Tue, 20 Sep 2011 22:37:26 +0000 (15:37 -0700)]
iwlagn: pending frames musn't be incremented if agg is on
During my works on the transport layer I removed code that updated
a local variable (is_agg) that is needed to keep the pending_frames
count up to date. Fix this.
Also, there should be no way to have a packet with TX_CTL_AMPDU set
while the internal aggregation state machine is not in AGG_ON state.
Add a WARN_ON to ensure that.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Tue, 20 Sep 2011 22:37:25 +0000 (15:37 -0700)]
iwlagn: remove uneeded declaration
This has been removed but the declaration hasn't.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Tue, 20 Sep 2011 22:37:24 +0000 (15:37 -0700)]
iwlagn: simplify the iwl_device_cmd layout
This simplifies both the transport layer and the upper layer.
Kill the union in the device command, which avoids the funny syntax
we had: cmd->cmd.payload.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Tue, 20 Sep 2011 22:37:23 +0000 (15:37 -0700)]
iwlagn: remove the callback in host commands
Before this patch, the upper layer could register a callback for each
host command. This mechanism allowed the upper layer to have
different callbacks for the same command ID. In fact, it wasn't used
and the rx_handlers is enough: same callback for all the command with
a specific command ID.
The iwl_send_add_station needs the access the command that was sent
while handling the response (regardless if the command was sent in
SYNC or ASYNC mode). So now, all the handlers receive the host
command that was sent. This implies a change in the handler signature.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 20 Sep 2011 22:37:22 +0000 (15:37 -0700)]
iwlagn: split remain-on-channel
If we're associated and want to do P2P at the same
time, the scan for remain-on-channel is currently
limited to 80ms because of the way the device will
behave in that case. Instead of doing that, split
up the dwell times into little pieces. It will not
actually be a single big dwell time then, but will
be close enough. This improves robustness of P2P
in such scenarios.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 20 Sep 2011 22:37:21 +0000 (15:37 -0700)]
iwlagn: remove common station priv
Since the driver split there's no more need for
shared/non-shared private station data so remove
struct iwl_station_priv_common entirely.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 20 Sep 2011 22:37:20 +0000 (15:37 -0700)]
iwlagn: move scan code to scan file
Since the driver split there's no longer a need
to have the scan code scattered across multiple
files, so move it all back to iwl-scan.c
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Thomas Pedersen [Tue, 20 Sep 2011 20:43:32 +0000 (13:43 -0700)]
mac80211: notify peer when shutting down peer link
Send a Mesh Peering Close frame when we deactivate a mesh peer link.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Tue, 20 Sep 2011 15:40:51 +0000 (17:40 +0200)]
mac80211: fix AP/VLAN PS buffer race
When an AP interface is removed without the
AP/VLAN interfaces having been removed before
already, the AP-VLAN interface might still
have sleeping stations and buffer multicast
frames which will happen on the AP interface.
Thus, we need to remove AP/VLAN interfaces
before purging buffered broadcast frames.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Mon, 19 Sep 2011 19:34:10 +0000 (14:34 -0500)]
rtlwifi: Combine instances of RTL_HAL_IS_CCK_RATE macros.
Three drivers, rtl8192ce, rtl8192cu and rtl8192de, use the same macro
to check if a particular rate is in the CCK set. This common code is
relocated to a common header file. A distinct macro used by rtl8192se
with the same name is renamed.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Mon, 19 Sep 2011 19:34:09 +0000 (14:34 -0500)]
rtlwifi: rtl8192de: Change modinfo messages
The various modparam messages are difficult to understand.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Mon, 19 Sep 2011 19:34:08 +0000 (14:34 -0500)]
rtlwifi: rtl8192se: Change modinfo messages
The various modparam messages are difficult to understand.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Larry Finger [Mon, 19 Sep 2011 19:34:07 +0000 (14:34 -0500)]
rtlwifi: rtl8192ce: Change modinfo messages
The various modparam messages are difficult to understand.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Mon, 19 Sep 2011 14:45:48 +0000 (20:15 +0530)]
ath9k: Store noise immunity values across scanning
CCK/OFDM noise immunilty values are always reset to defaults
during bgscan. This could affect the link quality and
performance when the STA is associated in a noisy channel.
So do not override the learned values across the scanning.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Sun, 18 Sep 2011 08:19:36 +0000 (11:19 +0300)]
NFC: driver for TI shared transport
Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Sun, 18 Sep 2011 08:19:35 +0000 (11:19 +0300)]
NFC: basic NCI protocol implementation
The NFC Controller Interface (NCI) is a standard
communication protocol between an NFC Controller (NFCC)
and a Device Host (DH), defined by the NFC Forum.
Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Sun, 18 Sep 2011 08:19:34 +0000 (11:19 +0300)]
NFC: move nfc.h from include/net to include/net/nfc
The file nfc.h was moved from include/net to include/net/nfc,
since new NFC header files will be added to include/net/nfc.
Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ilan Elias [Sun, 18 Sep 2011 08:19:33 +0000 (11:19 +0300)]
NFC: Add dev_up and dev_down control operations
Add 2 new nfc control operations:
dev_up to turn on the nfc device
dev_down to turn off the nfc device
Signed-off-by: Ilan Elias <ilane@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Alexander Simon [Sat, 17 Sep 2011 22:16:45 +0000 (00:16 +0200)]
mac80211: fix indentation
Signed-off-by: Alexander Simon <an.alexsimon@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 15 Sep 2011 12:10:50 +0000 (17:40 +0530)]
wireless: Do not allow disabled channel in scan request
cfg80211_conn_scan allows disabled channels at scan request.
Hence probe request was seen at the disabled one. This patch
ensures that disabled channel never be added into the scan
request's channel list.
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Tue, 20 Sep 2011 18:11:55 +0000 (14:11 -0400)]
Merge branch 'master' of git://git.infradead.org/users/linville/wireless
Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/wl12xx/main.c
Jouni Malinen [Fri, 16 Sep 2011 15:56:23 +0000 (18:56 +0300)]
cfg80211/nl80211: Add PMKSA caching candidate event
When the driver (or most likely firmware) decides which AP to use
for roaming based on internal scan result processing, user space
needs to be notified of PMKSA caching candidates to allow RSN
pre-authentication to be used.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 14:36:32 +0000 (16:36 +0200)]
b43: LCN-PHY: finish sense setup
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Mohammed Shafi Shajakhan [Fri, 16 Sep 2011 13:33:40 +0000 (19:03 +0530)]
rfkill: properly assign a boolean type
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Fri, 16 Sep 2011 11:45:25 +0000 (13:45 +0200)]
cfg80211: validate IBSS BSSID
The IBSS BSSID is never validated, so an
invalid one might end up being used. Fix
this by rejecting invalid configuration.
Reported-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:34:03 +0000 (12:34 +0200)]
b43: LCN-PHY: add more init tweaks
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:34:02 +0000 (12:34 +0200)]
b43: LCN-PHY: init TX power control
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:34:01 +0000 (12:34 +0200)]
b43: LCN-PHY: implement SPUR avoidance mode
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:34:00 +0000 (12:34 +0200)]
b43: LCN-PHY: set TX filters
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:33:59 +0000 (12:33 +0200)]
b43: LCN-PHY: tweaks for channel switching
They have been taken from brcmsmac, add Broadcom's copyright.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Fri, 16 Sep 2011 10:33:58 +0000 (12:33 +0200)]
bcma: cc: export more control functions
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Fri, 16 Sep 2011 10:02:34 +0000 (15:32 +0530)]
mac80211: Fix regression on queue stop during 2040 bss change
The commit "mac80211: stop tx before doing hw config and
rate update" stops the tx queue and call drv_flush so frequently
whenever a beacon got received with 11n htcap. This leads to
massive "Failed to stop TX DMA" logspam on embedded hw. So the
queue stop and flush should be called if and only if there is a
change in the channel type.
Reported-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:54 +0000 (11:46 -0700)]
iwlagn: signedness bug
re-apply the unsigned shorts bug fixed by Dan Carpenter but get lost
after the file move.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:53 +0000 (11:46 -0700)]
iwlagn: fix stack corruption for temperature offset v2
Same stack corruption problem as temperature offset
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:52 +0000 (11:46 -0700)]
iwlagn: do not use interruptible waits
Since the dawn of its time, iwlwifi has used
interruptible waits to wait for synchronous
commands and firmware loading.
This leads to "interesting" bugs, because it
can't actually handle the interruptions; for
example when a command sending is interrupted
it will assume the command completed fully,
and then leave it pending, which leads to all
kinds of trouble when the command finishes
later.
Since there's no easy way to gracefully deal
with interruptions, fix the driver to not use
interruptible waits.
This at least fixes the error
iwlagn 0000:02:00.0: Error: Response NULL in 'REPLY_SCAN_ABORT_CMD'
I have seen in P2P testing, but it is likely
that there are other errors caused by this.
Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: stable@kernel.org [2.6.24+]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:51 +0000 (11:46 -0700)]
iwlagn: use iwl_eeprom_calib_hdr structure
For retrieve calibration hdr related information, instead of using structure in
one place and #define in other place, unify the method to use data structure.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:50 +0000 (11:46 -0700)]
iwlagn: add support for v2 of temperature offset calibration
For 2000 series of NICs, version 2 of temperature offset calibration
should be used.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:49 +0000 (11:46 -0700)]
iwlagn: remove drvdata support from bus layer
Since the removal of the sysfs files, it is no
longer necessary to have upper layers control
the drvdata, so let the PCI driver have it for
itself completely.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:48 +0000 (11:46 -0700)]
iwlagn: move sysfs files to debugfs
The debug_level and temperature files should be in
debugfs, the txpower file is completely unneeded
since TX power can be set with iw/iwconfig.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:47 +0000 (11:46 -0700)]
iwlagn: remove unused function declarations
iwl_suspend and iwl_resume don't exist.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:46 +0000 (11:46 -0700)]
iwlagn: rename iwl-pci.h to iwl-cfg.h
There's nothing PCI(E) specific in this file.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:45 +0000 (11:46 -0700)]
iwlagn: clean up PM code
The transport callbacks might as well be undefined
when CONFIG_PM_SLEEP is not set, so ifdef all of
it out and make everything available for PM_SLEEP
only.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:44 +0000 (11:46 -0700)]
iwlagn: Makefile whitespace cleanup
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:43 +0000 (11:46 -0700)]
iwlagn: generically provide iwl_trans_send_cmd_pdu
There's no need to have the transport layer have a
callback for iwl_trans_send_cmd_pdu() since it is
just a generic wrapper around iwl_trans_send_cmd().
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Johannes Berg [Thu, 15 Sep 2011 18:46:42 +0000 (11:46 -0700)]
iwlagn: move PCI-E transport files
Move all the PCI-E specific transport files to
be iwl-trans-pcie*; specifically iwl-trans.c
which is really iwl-trans-pcie.c.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:41 +0000 (11:46 -0700)]
iwlagn: merge eeprom access into single file
After driver split and no need to support legacy devices, there is no reason
we need to separate the NVM access into different files, merge those.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:40 +0000 (11:46 -0700)]
iwlagn: provide data after WARN_ON
From time to time, we hit a WARN_ON in iwl_mac_remove_interface.
This basically means that we got out of sync with mac80211: the vif
we hold differs from the vif 80211 passes as parameter. Try to get
some data that will help to debug this.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Don Fry [Thu, 15 Sep 2011 18:46:39 +0000 (11:46 -0700)]
iwlagn: replace beacon_time_fsf_bits variable with #define
All devices use the same value for beacon_time_tsf_bits. Use the #define
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Fry, Donald H [Thu, 15 Sep 2011 18:46:38 +0000 (11:46 -0700)]
iwlagn: simplify chain_noise_num_beacons indirection
chain_noise_num_beacons is set and never changes. Use the #define
rather than 3 levels of indirection.
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Fry, Donald H [Thu, 15 Sep 2011 18:46:37 +0000 (11:46 -0700)]
iwlagn: fix modinfo display for 135 ucode.
The modinfo report for 135 ucode is iwlwifi-135-IWL135_UCODE_API_MAX.ucode
Change to show the value of the define: iwlwifi-135-6.ucode
Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Wey-Yi Guy [Thu, 15 Sep 2011 18:46:36 +0000 (11:46 -0700)]
iwlagn: New SKU for 6005 SFF
Adding another SKU for 6005 series devices.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Joe Perches [Thu, 15 Sep 2011 19:47:26 +0000 (12:47 -0700)]
iwlagn: Convert kzalloc to kcalloc
Convert kzalloc to kcalloc, coalesce multiple lines too.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:34 +0000 (11:46 -0700)]
iwlagn: add documentation to the transport layer
and do a few clean up fixes on the way
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:33 +0000 (11:46 -0700)]
iwlagn: document the bus layer API
Add documentation to the bus layer API - iwl-bus.h
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:32 +0000 (11:46 -0700)]
iwlagn: use enum iwl_rxon_context_id instead of u8
enum iwl_rxon_context_id is the right type to use when we need a
rxon_context_id.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:31 +0000 (11:46 -0700)]
iwlagn: move iwl_stop / wake_queue to the upper layer
Add a wrapper in the upper layer to call the mac80211's function.
This allows not to have the transport layer call mac80211 directly.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:30 +0000 (11:46 -0700)]
iwlagn: free the Tx cmd when a non empty Tx queue is freed
When a non-empty Tx queueis freed, the buffer it contains must be
freed too. Since the Tx cmd are now allocated from a pool, the Tx
cmd must be freed too.
This patch avoids to destroy a non-empty pool of Tx cmd.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:29 +0000 (11:46 -0700)]
iwlagn: unmap cmd queue's tfds as BIDI
If the driver is unloaded while there is still a host command in
flight, its tfd will be freed by iwl_tx_queue_free.
This function is called for both types of queues: Tx queues and cmd
queue. This didn't take in count the fact that in Tx queues, tfds are
mapped as TO_DEVICE (besides the first TB), whereas in cmd queue, all
TBs are mapped as BIDI.
Hence, tx_queue_free unmapped the second (and higher) TB of each tfd
in the cmd queue as TO_DEVICE, whereas they must be freed as BIDI.
This means that if a multi TFD is in flight while we unload the
driver (which is quite unlikely but can happen), we will get the
warning below.
This patch fixes this.
[ 445.234060] ------------[ cut here ]------------
[ 445.236273] WARNING: at lib/dma-debug.c:861 check_unmap+0x337/0x780()
[ 445.236654] iwlagn 0000:02:00.0: DMA-API: device driver frees DMA memory with different direction [device address=0x0000000126950540] [size=8 bytes] [mapped with DMA_BIDIRECTIONAL] [unmapped with DMA_TO_DEVICE]
[ 445.236654] Modules linked in: ...
[ 445.236654] Pid: 1415, comm: modprobe Not tainted
3.1.0-rc4-wl-65912-g5215ff1-dirty #79
[ 445.236654] Call Trace:
[ 445.236654] [<
ffffffff81043a51>] warn_slowpath_common+0x71/0xa0
[ 445.236654] [<
ffffffff81043b37>] warn_slowpath_fmt+0x47/0x50
[ 445.236654] [<
ffffffff8121e687>] check_unmap+0x337/0x780
[ 445.236654] [<
ffffffff810e9136>] ? free_one_page+0x156/0x320
[ 445.236654] [<
ffffffff8121ec5a>] debug_dma_unmap_page+0x5a/0x60
[ 445.236654] [<
ffffffffa021d701>] iwlagn_unmap_tfd.isra.11+0x121/0x1c0 [iwlagn]
[ 445.236654] [<
ffffffffa021ddf2>] iwlagn_txq_free_tfd+0x42/0x70 [iwlagn]
[ 445.236654] [<
ffffffffa02121de>] iwl_tx_queue_unmap+0x4e/0x70 [iwlagn]
[ 445.236654] [<
ffffffffa0212fad>] iwl_trans_pcie_tx_free+0x10d/0x440 [iwlagn]
[ 445.236654] [<
ffffffff81064959>] ? destroy_workqueue+0xb9/0x1e0
[ 445.236654] [<
ffffffffa021330a>] iwl_trans_pcie_free+0x2a/0x2c0 [iwlagn]
[ 445.236654] [<
ffffffffa022f4f2>] iwl_remove+0x149/0x17e [iwlagn]
[ 445.236654] [<
ffffffffa022f546>] iwl_pci_remove+0x1f/0x65 [iwlagn]
[ 445.236654] [<
ffffffff81228337>] pci_device_remove+0x47/0x120
[ 445.236654] [<
ffffffff8134566c>] __device_release_driver+0x7c/0xe0
[ 445.236654] [<
ffffffff81345dc8>] driver_detach+0xc8/0xd0
[ 445.236654] [<
ffffffff813454c8>] bus_remove_driver+0x88/0xe0
[ 445.236654] [<
ffffffff81346572>] driver_unregister+0x62/0xa0
[ 445.236654] [<
ffffffff812271d4>] pci_unregister_driver+0x44/0xc0
[ 445.236654] [<
ffffffffa0211ce5>] iwl_pci_unregister_driver+0x15/0x20 [iwlagn]
[ 445.236654] [<
ffffffffa022f595>] iwl_exit+0x9/0xa74 [iwlagn]
[ 445.236654] [<
ffffffff810918f4>] sys_delete_module+0x184/0x240
[ 445.236654] [<
ffffffff81452ece>] ? retint_swapgs+0xe/0x13
[ 445.236654] [<
ffffffff8121098e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 445.236654] [<
ffffffff81459e2b>] system_call_fastpath+0x16/0x1b
[ 445.236654] ---[ end trace
1fbc362b7dbe5d74 ]---
[ 445.236654] Mapped at:
[ 445.236654] [<
ffffffff8121d7cb>] debug_dma_map_page+0x8b/0x150
[ 445.236654] [<
ffffffffa021e7b7>] iwl_enqueue_hcmd+0x837/0xa40 [iwlagn]
[ 445.236654] [<
ffffffffa021f92d>] iwl_trans_pcie_send_cmd+0x8d/0x580 [iwlagn]
[ 445.236654] [<
ffffffffa01f7c75>] iwl_send_calib_results+0x75/0xd0 [iwlagn]
[ 445.236654] [<
ffffffffa01f21f6>] iwlagn_alive_notify+0x196/0x1f0 [iwlagn]
[ 445.386500] iwlagn 0000:02:00.0: PCI INT A disabled
Reported-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Emmanuel Grumbach [Thu, 15 Sep 2011 18:46:28 +0000 (11:46 -0700)]
iwlagn: warn about buggy fw that doesn't set SEQ_RX_FRAME
The way we check if there is host command that should be reclaimed is
way too complicated. We should have a clear indication from the fw.
The fw is expected to set the SEQ_RX_FRAME bit if the frame was
originated by the fw which indicates to the driver that there is no
host command to free.
Somehow, there seem to have been buggy fw out there, hence the very
old comment.
This code checks if we have still buggy fw out there.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:54 +0000 (19:02 +0530)]
ath9k: Reset caldata on radio enable
Not doing so, the caldata continues to retain older history
values learned on that channel. It is always safer to start
noise floor calibration from the defaults after the assoication.
So this patch resets the nf history buffer when none of the
STA vifs are associated.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:53 +0000 (19:02 +0530)]
ath9k: load noise floor from history after the full chip reset
Currently during the full reset, the nf calibration is always
restarted from the defaults. The noise floor history buffers are
never be used again after the scan and ath reset. This patch
ensures that nf histories are always be used that helps to
improve the signal quality on congested environment
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rajkumar Manoharan [Thu, 15 Sep 2011 13:32:25 +0000 (19:02 +0530)]
ath9k_hw: Fix magnitude/phase coeff correction
Do the magnitude/phase coeff correction only if the outlier
is detected. Updating wrong magnitude/phase coeff factor
impacts not only tx gain setting but also leads to poor
performance in congested networks. In the clear environment
the impact is very minimal because the outlier happens
very rarely according to the past experiment. It occured
less than once every 1000 calibrations.
Cc: stable@kernel.org
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 12:25:38 +0000 (14:25 +0200)]
ath9k_hw: remove ar9100_hw_compute_pll_control
AR913x uses the same PLL register layout as AR9160 and later.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 12:25:37 +0000 (14:25 +0200)]
ath9k_hw: fix setting the hardware diversity flag
ath9k_hw_set_diversity is only called from init.c where it cannot affect
the hardware setting because it's cleared on the next reset.
Instead of using a PHY op for something that's supposed to be initialized
statically, set the register value directly in the INI override function.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 12:25:36 +0000 (14:25 +0200)]
ath9k_hw: remove dead code in the eeprom ops
The eeprom .set_addac function is only necessary for AR9160, remove it
from eeprom_4k.c and remove the dummy function from eeprom_9287.c
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 12:25:35 +0000 (14:25 +0200)]
ath9k_hw: clean up hardware revision checks
- AR_SREV_5416_20_OR_LATER is always true, remove it
- AR_SREV_9280_20_OR_LATER is always true within eeprom_4k.c and eeprom_9287.c
- (AR_SREV_9271 || AR_SREV_9285) is always true in eeprom_4k.c
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 10:59:49 +0000 (12:59 +0200)]
ath9k: sync the dma buffer after changing the retry flag
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Eliad Peller [Thu, 15 Sep 2011 08:53:01 +0000 (11:53 +0300)]
cfg80211: add cfg80211_find_vendor_ie() function
Add function to find vendor-specific ie (along with
vendor-specific ie struct definition and P2P OUI values)
Signed-off-by: Eliad Peller <eliad@wizery.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau [Thu, 15 Sep 2011 08:03:12 +0000 (10:03 +0200)]
ath9k: fix setting the IEEE80211_TX_CTL_CLEAR_PS_FILT flag
When the driver inserts padding between the 802.11 header and data, it
needs to set the hdr variable to the new header location.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Mon, 19 Sep 2011 19:42:31 +0000 (15:42 -0400)]
Revert "ath9k: do not insert padding into tx buffers on AR9380+"
This reverts commit
4245d31347bdc99a608dc1d1cfe64e44aa3d1771.
John W. Linville [Mon, 19 Sep 2011 19:42:21 +0000 (15:42 -0400)]
Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx
Manual Munz [Sun, 18 Sep 2011 23:24:03 +0000 (18:24 -0500)]
b43: Fix beacon problem in ad-hoc mode
In ad-hoc mode, driver b43 does not issue beacons.
Signed-off-by: Manual Munz <freifunk@somakoma.de>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>