Commit graph

120579 commits

Author SHA1 Message Date
Luciano Coelho 221737d24f wl12xx: increase number of allowed SSIDs in sched_scan
The latest firmware supports up to 16 SSIDs in the scheduled scan
lists.  Increase the number we report to cfg80211 and increase the
min/max dwell time to 30 and 60 TUs respectively, because otherwise we
don't have the time to send the probes for all SSIDs.

Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 12:18:38 +03:00
Luciano Coelho fb55377b2a wl12xx: add support for sched_scan filters
Implement support for filtering in scheduled scans.

With this commit we now use the match sets passed by cfg80211 to
filter on SSIDs.  Due to the nature of the wl12xx firmware API, we
don't allow SSIDs to be sent in the probe requests if they are not
going to match any of the filters.

Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 12:18:38 +03:00
Eliad Peller 1ec23f7f70 wl12xx: declare support for WIPHY_FLAG_AP_UAPSD
Declare support for uapsd when working as AP, and
set psd_type and sp_len whan a station is being added.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 12:09:38 +03:00
Eliad Peller b6883582a8 wl12xx: use kstrtoul_from_user
simplify code by calling kstrtoul_from_user() (instead of
copy_from_user() + kstrtoul())

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:43 +03:00
Luciano Coelho 04907011d5 wl12xx: remove deprecated CONFIG_WL12XX_HT flag
The driver now support HT properly, so we can always have HT enabled.

Remove the WL12XX_HT configuration.

Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:34 +03:00
Arik Nemtsov 14623787ab wl12xx: don't queue a new dummy packet if one is already pending
The firmware only asks for one dummy packet at a time, but sometimes we
are unable to provide it before a FW timer expires. When this happens,
the FW will re-request the dummy packet. If a packet is still queued in
the driver queues, do nothing in this case.

This prevents spurious dummy packets from clogging up the VO AC.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:26 +03:00
Eliad Peller 9487775c5b wl12xx: add config_hangover command
Add wl12xx_acx_config_hangover() and respective conf values.
This command configures how long the chip will stay awake
after it was configured to enter psm.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:26 +03:00
Eliad Peller e0b38265b0 wl12xx: check for ROC on scan_complete
When scan completes, and we are not associated, we should start
the dev role and ROC. however, we might already be in this situation
(e.g. if we got disconnected during scan). check for it.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:26 +03:00
Eliad Peller 2ec7da254c wl12xx: don't use WL1271_SCAN_OPT_PRIORITY_HIGH flag
When setting the WL1271_SCAN_OPT_PRIORITY_HIGH flag, the
driver requests a scan *now*, and the fw doesn't enter psm
before scanning, which in turn might cause packets loss.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:26 +03:00
Eliad Peller 87579550b2 wl12xx: don't disconnect on recovery
allow full connection recovery by dropping the
beacon_loss notification.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:26 +03:00
Eliad Peller a0a521560a wl12xx: add beacon_filtering debugfs file
Allow enabling/disabling beacon_filtering by debugfs,
in order to reduce the log size while debugging (beacon
filtering is disabled by default in AP mode, as beacons
are needed for ERP configuration).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:18 +03:00
Eliad Peller 2a5bff091f wl12xx: add module_param to trigger BUG() on recovery
Crashing on recovery is useful for debugging, as a JTAG
can be connected in order to investigate the current fw state.
(otherwise, a reconfiguration will occur)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:18 +03:00
Eliad Peller 5c472148b0 wl12xx: print the seq_num of rx packet
Make it easier to match the driver log against
a sniffer log.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:18 +03:00
Eliad Peller c91d06006d wl12xx: print acx id
Add id param to the acx debug print (on wl1271_cmd_configure)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-09-14 11:47:17 +03:00
Luciano Coelho c6ceb8726f Merge branch 'wl12xx-next' into for-linville 2011-09-14 11:32:15 +03:00
Bill Jordan f84f234c64 ath9k: ath9k_hw_set_txpowerlimit sets previous txpower
In commit 9c204b46c7
(ath9k_hw: do not limit initial tx power to 20 dbm),
setting of txpower was broken.

This patch fixes it by initializing reg_pwr from the new
power limit, not the previous value.

Signed-off-by: Bill Jordan <bjordan@rajant.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:46 -04:00
Rafał Miłecki cf577fc242 b43: LCN-PHY: add conditions for few operations
It was not possible to guess the conditions from MMIO dumps. Take them
from brcmsmac code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:46 -04:00
Rafał Miłecki bce4dc4a5d b43: LCN-PHY: rename functions, get rid of magic names
We've compared b43 with brcmsmac and took functions names from the
later.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:46 -04:00
Rafał Miłecki 71c1d1e97f b43: LCN-PHY: upload additional 0x7 table
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:45 -04:00
Rafał Miłecki 095be64ebf b43: LCN-PHY: rewrite 0x7 table at the end of init
This is not implemented in brcmsmac, but was noticed in (newer) wl. Can
be workaround for some hardware bug.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:45 -04:00
Rafał Miłecki b35e6d9a1c b43: LCN-PHY: put tables functions in correct file
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:45 -04:00
Rafał Miłecki 0b4ff45d8e b43: LCN-PHY: minor fixes
The biggest change is reversing order of reading 32-bit table value.
MMIO dumps has shown it's done that way for LCN-PHY.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:45 -04:00
zero.lin 5126d97ef5 rt2x00: Add new chipset support
Signed-off-by: zero.lin <zero.lin@ralinktech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:53:45 -04:00
Dan Carpenter 4690c33df6 iwlwifi: signedness bug in iwl_trans_pcie_tx_agg_alloc()
unsigned shorts and unsigned chars are never == -1.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:48:48 -04:00
Dan Carpenter 427977ab2e iwlwifi: fix double assign in iwl_start_tx_ba_trans_ready()
"vif" is assigned twice.  We can remove the first one.

This silences a Smatch warning that "ctx" could be one step past the
end of the priv->contexts[] array.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:48:48 -04:00
Rajkumar Manoharan 81a91d5755 ath9k_hw: Fix rx latency of 11a mode
Rx latecy to start signal(usec) of 11a is 41 not 37 and
also corrected the rx delay in quarter rate.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:48:48 -04:00
Yogesh Ashok Powar 5982b47aa4 mwifiex: replace kmalloc & memcpy sequence with kmemdup
Sequence of kmalloc/kzalloc and memcpy is replaced with
kmemdup.

Cc: Walter Harms <wharms@bfs.de>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:32 -04:00
Felix Fietkau 3459731a39 ath9k: fix checks for first subframe delimiter padding
The commit "ath9k_hw: Fix exceed transmission burst-time of 5GHz" added
a padding of 60 delimiters on the first subframe to work around an issue
on AR9380, but it lacked the checks to prevent it from being applied to
pre-AR9380, enterprise AR9380 or AR9580+

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:31 -04:00
Yogesh Ashok Powar 2a36a0ec15 mwl8k: Set hardware flag IEEE80211_HW_AP_LINK_PS
This will avoid mac80211 to trigger PS mode for connected station
based on the PM bit of incoming frames. AP firmware is capable of
handling such frames and buffering TX frames destined to the
stations that are in PS mode.

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:31 -04:00
Felix Fietkau 3c42e6ef28 ath9k_hw: fix the last register write for ar5416 addac
The previous register used in these initvals was probably accidentally
copied over from the AR9100 values.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:31 -04:00
Felix Fietkau b8b0b974f2 ath9k_hw: drop an unused column in AR5008-AR9002 initvals
It was used for the defunct 'turbo' mode which was never implemented in the
driver. Saves ~7.5k uncompressed

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:31 -04:00
Rafał Miłecki 765b07e467 b43: LCN-PHY: implement saving and restoring PHY & radio configuration
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:30 -04:00
Rafał Miłecki d703a5ae3a bcma: extract some basic info about board from SPROM
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:30 -04:00
Rafał Miłecki 39f7d33c49 b43: LCN-PHY: prepare functions for channel switching
Switching is not fully implemented yet, prepare place for the code.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:30 -04:00
Rafał Miłecki bd3bf693c7 b43: LCN-PHY: implement more PHY ops before radio init
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:29 -04:00
Rafał Miłecki f533d0fa5e b43: LCN-PHY: add R/W ops for PHY and radio
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:29 -04:00
Felix Fietkau adb5066ae2 ath9k_hw: do not apply the 2.4 ghz ack timeout workaround to cts
It is only used to workaround interoperability issues related to longer
delays in receiving the block ack, so it is not necessary to apply it
to the CTS exchange.
Should improve throughput slightly, especially when there are lots
of retransmissions.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-09-13 15:42:29 -04:00
Greg Dietsche 2fa8b6a0e4 iwlwifi: iwl-agn-rs.c: remove old comment
this comment refers to some code that was removed.

Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Felix Fietkau 44f1d26c16 ath9k: defer ath_tx_setup_buffer setup to the first tx attempt during aggr
With sequence number and buffer allocation deferred to when they're needed
for the first time, it becomes much easier to start dropping packets from
the tid queue if necessary, e.g. when latency suddenly increases. This can
lead to some future improvements in buffer management for better latency.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Felix Fietkau fa05f87ad4 ath9k: move seqno allocation in the tx path to ath_tx_setup_buffer
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Felix Fietkau 6a0ddaef7c ath9k: move the sequence number from ath_frame_info to ath_buf
It is only necessary for BAW tracking and moving it to the ath_buf
makes it easier to add further improvements, such as deferring
seqno allocation in the aggregation path.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Felix Fietkau 56dc633692 ath9k: clean up the aggregation tid queue
Use a sk_buff_head instead containing skbs instead of a list_head
containing ath_bufs. This makes it easier to decouple the aggregation
code from the ath_buf struct

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Felix Fietkau a75c062971 ath9k: use u8 for the tx key index
This saves some space in struct ath_frame_info

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:53 -04:00
Joe Perches 29e76245d4 ath: Make ath_printk void not int and remove unused struct ath_common *
Changing the return type and removing the unused argument from
ath_printk reduces code size.

Add an __always_unused struct ath_common * to the macros
that call ath_printk to avoid unused variable warnings.

$ size drivers/net/wireless/ath/built-in.o*
   text	   data	    bss	    dec	    hex	filename
1159859	  16235	 212000	1388094	 152e3e	drivers/net/wireless/ath/built-in.o.new
1164175	  16235	 212032	1392442	 153f3a	drivers/net/wireless/ath/built-in.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:52 -04:00
Joe Perches 7b8112d6db ath: Make ath_dbg void not int
The return value is never used so make it void.

Reduces object size a tiny bit.

$ size drivers/net/wireless/ath/built-in.o*
   text	   data	    bss	    dec	    hex	filename
1164175	  16235	 212032	1392442	 153f3a	drivers/net/wireless/ath/built-in.o.new
1164819	  16235	 212032	1393086	 1541be	drivers/net/wireless/ath/built-in.o.old

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-30 15:38:52 -04:00
John W. Linville 78b8e51dd9 wl12xx/sdio_test.c: fix build breakage from WL127X_FW_NAME change
Commit c302b2c959 ("wl12xx: Use a single
fw for both STA and AP roles") changed the name of the firmware name
definition, breaking the build of wl12xx/sdio_test.c.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:49:46 -04:00
Larry Finger 9a53bf54b8 b43: Fix swatch warning
Swatch reports the following warning for main.c:

  CHECK   drivers/net/wireless/b43/main.c
drivers/net/wireless/b43/main.c +4115 b43_wireless_core_stop(7) warn: variable dereferenced before check 'dev'

After analysis, this is not a bug, but a false warning. Nonetheless,
a cleanup is in order to prevent some future janitor proposing
the wrong fix, as I did in my original patch.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:33:03 -04:00
Larry Finger 1ba45b9e3a ath9k: Fix a smatch warnings
Smatch shows the following warnings:

  CHECK   drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c +1315 ath9k_htc_configure_filter(27) warn: inconsistent returns mutex:&priv->mutex: locked (1303) unlocked (1315)

  CHECK   drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +3321 ar9300_eeprom_restore_internal(20) warn: returning -1 instead of -ENOMEM is sloppy

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:33:03 -04:00
Rajkumar Manoharan cf3af74824 ath9k: Add debugfs support for mac/baseband samples
This patch keep track of number of samples that includes
DMA debugs registers, PCU observe, CR, channel noise,
cycle conters, noisefloor history buffer and last N number
of tx and rx descriptor status. These samples are grouped
in table manner which dumping in debgufs.

Debugfs file location:
    <debugfs_mnt>/ieee80211/phy#/ath9k/samples

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:33:03 -04:00
Felix Fietkau 059ee09b99 ath9k: fix regression in sending aggregated packets
The recent commit "ath9k: Send legacy rated frames as unaggregated"
introduced a check to ensure that packets with non-MCS rates set in
the rate series will not be aggregated. However, it failed to check
if the rate series is valid before testing the flags, thus breaking
aggregation for normal MCS-only packets if the last series is unset.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:33:02 -04:00