summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-08-22b43: support new TX header, noticed to be used by 598.314+ fwRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22b43: use enum for firmware header formatRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22b43: rename TX header formatsRafał Miłecki
Replace "old" and "new" with number of the first firmware known to use the given format. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22b43: reload phy and bss settings after core restartsFelix Fietkau
b43_op_config and b43_op_bss_info_changed apply many settings by directly writing to hardware registers. These settings are lost as soon as the core is restarted and the initvals are reloaded. This was discovered because restarting hostapd led to the beacon interval getting set to ~33s (see https://dev.openwrt.org/ticket/8033 for more information). Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22ath9k: do btcoex ASPM disabling at initialization timeStanislaw Gruszka
Disable ASPM in pci ->probe on upstream (device) and downstream (PCIe port) component. According to e1000e driver authors this is required. I did not find that requirement in PCIe spec, but it seems to be logical for me. This need to be fixed for CONFIG_PCIEASPM, that will be done later ... Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22ath9k: merge common ->config_pci_powersave() checksStanislaw Gruszka
Move common checks into wrapper function. Since ASPM can be only enabled on PCIe devices ->is_pciexpress check is unneeded. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-22ath9k: remove ->config_pci_powersave() redundant argumentStanislaw Gruszka
We always call ->config_pci_powersave() with both restore and power_off arguments equal to 0 or both equal to 1, so merge them into one argument. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-13staging: remove ath6klKalle Valo
ath6kl is now in drivers/net/wireless/ath so the staging driver is not supported anymore and should be removed. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Greg KH <gregkh@suse.de> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-12mwifiex: use cfg80211 dynamic scan table and cfg80211_get_bss APIAmitkumar Karwar
Instead of maintaining static scan table in driver, scan list is sent to cfg80211 stack (after parsing each scan command response). In assoc handler (for infra and ibss network) requested BSS information is retrieved using cfg80211_get_bss() API. With the changes above some redundant code are removed. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-12ath9k: avoid sending a-mpdu packets to sleeping stationsFelix Fietkau
If the driver gets a tx status report for an A-MPDU sent to a station that just went to sleep, that leaves a race condition where this tx status can trigger another A-MPDU transmission. To fix this, check if the station is sleeping before queueing the tid. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-12ath9k: remove eeprom txgain override for minor version < 19Marek Lindner
ath9k_hw_4k_get_eeprom() overrides the eeprom value for txgain if the minor version is not 19 or above with a value of 0. ar9002_hw_init_mode_gain_regs() relies on this information to determine whether this is a high power wifi card or not. The override caused the driver to always use the 'normal' power tables even for high power devices if their minor version was not high enough. Thus leading to reduced power output. This isn't needed for the AR9285; the check originated with the AR9280 setup code which requires the EEPROM version check. Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Acked-by: Felix Fietkau <nbd@openwrt.org> Acked-by: Adrian Chadd <adrian@freebsd.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-10ath9k: remove obselete commentsMohammed Shafi Shajakhan
the comments are obselete as the virtual wiphy support was removed from the driver Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-10ath9k: optimize rate control statisticsMohammed Shafi Shajakhan
for the ease of debugging, we display only the rate control statistics for currently operating mode and bandwidth Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Cc: "Balasubramanian, senthilkumar" <senthilb@qca.qualcomm.com> Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-10ath9k_htc: minor clean-upMohammed Shafi Shajakhan
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-10mac80211_hwsim: Fix RX status reporting for HTJouni Malinen
RX_FLAG_HT must be included when reporting MCS rates. Without this, mac80211 ended up dropping any frame sent at MCS index 12 or higher and that resulted in oddly random looking errors in mac80211_hwsim tests. Signed-off-by: Jouni Malinen <j@w1.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-10Merge branch 'for-linville' of ↵John W. Linville
git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath6kl
2011-08-10ath6kl: fix function name conflicts with ath9kKalle Valo
Stephen reported that compilation fails if both ath6kl and ath9k are compiled in: drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_start': (.opd+0x600): multiple definition of `htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e40): first defined here drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_stop': (.text+0x7b40): multiple definition of `.htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67b34): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `.htc_start': (.text+0x7d18): multiple definition of `.htc_start' drivers/net/wireless/ath/ath9k/built-in.o:(.text+0x67ba0): first defined he= re drivers/net/wireless/ath/ath6kl/built-in.o: In function `htc_stop': (.opd+0x5e8): multiple definition of `htc_stop' drivers/net/wireless/ath/ath9k/built-in.o:(.opd+0x3e28): first defined here To fix this add ath6kl prefix to all public functions in htc.c. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09Merge branch 'ath6kl-next' of ↵John W. Linville
master.kernel.org:/pub/scm/linux/kernel/git/kvalo/ath6kl
2011-08-09b43: Remove EXPERIMENTAL designation from LP PHY selectionLarry Finger
Since kernel 3.0, the problems with controlling b43 devices that have low-power (LP) PHYs have been fixed and the EXPERIMENTAL designation can be fixed. This patch also fixes a typo as the device supports 802.11b communications. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Acked-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09libertas: remove some dead code in if_spi_prog_helper_firmware()Dan Carpenter
We always hit the goto and skip the printk(). The original code does the right thing even though it looks messy. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09rt2x00: Fix PCI interrupt processing race on SMP systemsHelmut Schaa
When toggle_irq is called for PCI devices to disable device interrupts it used tasklet_disable to wait for a possibly running tasklet to finish. However, on SMP systems the tasklet might still be scheduled on another CPU. Instead, use tasklet_kill to ensure that all scheduled tasklets are finished before returning from toggle_irq. Furthermore, it was possible that a tasklet reenabled its interrupt even though interrupts have been disabled already. Fix this by checking the DEVICE_STATE_ENABLED_RADIO flag before reenabling single interrupts during tasklet processing. While at it also enable/kill the TBTT and PRETBTT tasklets in the toggle_irq callback and only use tasklet_kill in stop_queue to wait for a currently scheduled beacon update before returning. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09rtlwifi: Remove raw read/write routines from headerLarry Finger
Now that the driver no longer uses the raw r/w routines, remove their definitions. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09rtlwifi: Eliminate raw reads and writes from PCIe portionLarry Finger
The PCIe driver used raw reads and writes on the PCIe hardware. As all of these are only affecting the configuration space, all of then can be converted to pci_{read,write}_config_XX calls. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k: Use atomic reference count for interrupt opsRajkumar Manoharan
Let us enable/disable interrupts based on reference count. By doing this we can ensure that interrupts are never be enabled in the middle of tasklet processing. Instead of addressing corner cases like "ath9k: avoid enabling interrupts while processing rx", this approach handles it in generic manner. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Fix incorrect spur_freq_sd for AR9003Rajkumar Manoharan
Spur frequency was incorrectly computed with 10Mhz offset which could cause the filter would not notch out the spur and also this could improve rx sensitivity in HT40. Cc: Madhan Jaganathan <madhanj@qca.qualcomm.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k: do not enable interrupt on set interrupt maskRajkumar Manoharan
At preset set_interrupt also enables interrupt after changing mask. This is not necessary in all cases and also sometime it breaks the assumption that interrupt was disabled. So let us enable the interrupt explicity if it was disabled earlier. This could also avoid unnecessary register ops and also helps the follow up patch to have global ref count for interrupts ops. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: use register name in place of magic valueAlex Hacker
Signed-off-by: Alex Hacker <hacker@epn.ru> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09mwifiex: print driver version informationAmitkumar Karwar
Add code to display driver version information in dmesg after loading the driver successfully. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09libertas: implement if_sdio runtime power managementDaniel Drake
The SDIO card is now fully powered down when the network interface is brought down. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09libertas: disable functionality when interface is downDaniel Drake
Modify the driver so that it does not function when the interface is down, in preparation for runtime power management. No commands can be run while the interface is down, so the ndo_dev_stop routine now directly does all necessary work (including asking the device to disconnect from the network and disabling multicast functionality) directly. power_save and power_restore hooks are added meaning that card drivers can take steps to turn the device off when the interface is down. The MAC address can now only be changed when all interfaces are down; the new address will be programmed when an interface gets brought up. This matches mac80211 behaviour. Also, some small cleanups/simplifications were made in the surrounding device handling logic. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Update AR9003 high_power tx gain tableRajkumar Manoharan
The high_power tx gain table is changed to match the low_ob_db tx gain table for both 5G and 2G. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Update the radio parameters related to high_powerRajkumar Manoharan
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Optimize rx descriptor processing for AR9003Rajkumar Manoharan
No need to process RxDone and ds_info status again in case valid rx status is given. Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k: Remove virtual wiphy specific frame typeRajkumar Manoharan
This patch cleanups virtual wiphy specific frametype structure Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k: Dump modal eeprom headerRajkumar Manoharan
Debugfs file location: <debugfs_mnt>/ieee80211/phy#/ath9k/modal_eeprom Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k: Dump base eeprom headerRajkumar Manoharan
Debugfs file location: <debugfs_mnt>/ieee80211/phy#/ath9k/base_eeprom Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Add dump_eeprom support for eeprom_defRajkumar Manoharan
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Add dump_eeprom support for AR9287Rajkumar Manoharan
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Add dump_eeprom support for eeprom_4kRajkumar Manoharan
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath9k_hw: Add dump_eeprom support for AR9003Rajkumar Manoharan
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09b43: add core rev 17 used on bcma SoC.Hauke Mehrtens
This ieee80211 core was found on a Netgear wndr3400. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09bcma: use boardflags define from ssb codeRafał Miłecki
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-09ath6kl: Release the memory allocated for the firmwareRaja Mani
Nowhere the firmware memory is freed, free it during the device destroy process. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Fix crash during the connection processRaja Mani
Sometimes, the network manager is failing to connect to the AP due to the below kernel crash message. The reason behind this, after issuing the connect command to the chip, the chip is sending disconnect event and then immediately one connect event to the host in some random cases. The host driver resets all states (including cfg80211 state machine) when it receives disconnect event from the chip. But, still the host driver reports the next received connect event to cfg80211, at that time cfg80211 SME state would have been in IDLE state, which was causing the below kernel crash. Now, host driver's sme state machine is checked every time before delivering connect event to cfg80211 WARNING: at net/wireless/sme.c:517 cfg80211_connect_result+0x10d/0x120() [..] Call Trace: [<c0145732>] warn_slowpath_common+0x72/0xa0 [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120 [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120 [<c0145782>] warn_slowpath_null+0x22/0x30 [<c05d676d>] cfg80211_connect_result+0x10d/0x120 [<f83ff497>] ath6kl_cfg80211_connect_event+0x427/0x4f0 [ath6kl] [<c035d26a>] ? put_dec+0x2a/0xa0 [<c035d645>] ? number+0x365/0x380 [<c0154675>] ? mod_timer+0x135/0x260 [<c035e00e>] ? format_decode+0x2fe/0x370 [<c01263c8>] ? default_spin_lock_flags+0x8/0x10 [<c05fd91f>] ? _raw_spin_lock_irqsave+0x2f/0x50 [<c0146032>] ? console_unlock+0x172/0x1c0 [<f8402659>] ath6kl_connect_event+0x89/0x400 [ath6kl] [<f840826e>] ath6kl_wmi_control_rx+0x98e/0x1d60 [ath6kl] [<c01335b5>] ? __wake_up+0x45/0x60 [<f84053aa>] ath6kl_rx+0x56a/0x770 [ath6kl] [<c04d0242>] ? mmc_release_host+0x22/0x40 [<c04d9329>] ? sdio_release_host+0x19/0x30 [<f840a27a>] ? ath6kl_sdio_read_write_sync+0x7a/0xc0 [ath6kl] [<f83f82b1>] do_rx_completion+0x41/0x50 [ath6kl] [<f83faa6a>] htc_rxmsg_pending_handler+0x6ba/0xbd0 [ath6kl] [<f8404bb0>] ? ath6kl_tx_data_cleanup+0x30/0x30 [ath6kl] [<f840a1c0>] ? ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [<f83f7cd5>] ath6kldev_intr_bh_handler+0x2a5/0x630 [ath6kl] [<f840a1c0>] ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl] [<c04d97c7>] sdio_irq_thread+0xc7/0x2d0 [<c013aeb0>] ? default_wake_function+0x10/0x20 [<c012fc98>] ? __wake_up_common+0x48/0x70 [<c04d9700>] ? sdio_claim_irq+0x200/0x200 [<c0163854>] kthread+0x74/0x80 [<c01637e0>] ? kthread_worker_fn+0x160/0x160 [<c0604c06>] kernel_thread_helper+0x6/0x10 Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Cleanup void * in ath6kl_cfg80211_scan_node()Vasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Use ath6kl_cfg80211_scan_node() directly instead of function pointerVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Remove ath6kl_wmi_iterate_nodes()Vasanthakumar Thiagarajan
Use wlan_iterate_nodes() directly. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Pass only the needed scan_table to ath6kl_wmi_iterate_nodes()Vasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Move initialization/deinitialization of scan_table to appropriate ↵Vasanthakumar Thiagarajan
functions By having scan_table in struct ath6kl, it makes sense to move initialization to ath6kl_init() and deinitialization to ath6kl_destroy(). Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09ath6kl: Cleanup parameters of wlan_node_table_init()Vasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>