summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-02-16rt2x00: rt2800 - Make rt30xx and rt35xx chipsets configurable.Gertjan van Wingerde3-115/+258
Support for rt30xx- and rt35xx-based devices is currently not functional in rt2800pci and rt2800usb. In order to not confuse users we shouldn't claim the PCI and USB device ID's for these devices. However, to allow for testing it is good to still have them available, although disabled by default. Make support for these device configuration options that default to off. For rt2800usb a 3rd class of devices is added, which are the unknown devices. For these devices it is known that they are either based on rt28xx, rt30xx or rt35xx, but it is not known on what chipset exactly. These devices are disabled by default as well, until it can be established on what chipset exactly they are based. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16rt2x00: rework RT chipset and revision determination for PCI an SOC devices.Gertjan van Wingerde14-118/+112
The recent rt2800 devices are no longer really identified by their PCI ID's, but rather by the contents of their CSR0 register. Also for the other chipsets is the contents of this CSR0 register important. Change the chipset determination logic to be more aligned with the rt2800 model. Preparation for the support of rt3070 / rt3090 based devices. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16rt2x00: Reorganize RT chipset setting for PCI/SOC devices.Gertjan van Wingerde12-59/+58
Don't set the RT chipset for a device from within the generic PCI/SOC code, but rather from the individual drivers, so that individual drivers have more control over what RT chipset is set. Preparation for chip handling updates for rt2800 devices. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16rt2x00: Introduce SoC interface type.Gertjan van Wingerde4-38/+34
Introduce the SoC interface type to detect SoC devices, instead of having them mimic being PCI devices. This allows for easier detection of SoC devices. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16p54usb: Add usbid for Corega CG-WLUSB2GT.Shimada Hirofumi1-0/+1
Signed-off-by: Shimada Hirofumi <hirofumi@flycat.org> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16ssb: fix typo in ifdef commentHauke Mehrtens1-2/+2
Cc: Michael Buesch <mb@bu3sch.de> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16rtl8187: fix typo in ifdef commentHauke Mehrtens2-2/+2
Cc: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Cc: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16b43legacy: fix typo in ifdef commentHauke Mehrtens1-1/+1
Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16wireless: airo_cs build fixesRandy Dunlap2-0/+2
When WEXT_PRIV is not enabled, airo_cs has build errors. It needs to include net/iw_handler.h and it should select WEXT_PRIV, like the airo driver does. drivers/net/wireless/airo.c:7655: error: unknown field 'num_private' specified in initializer drivers/net/wireless/airo.c:7655: warning: initialization makes pointer from integer without a cast drivers/net/wireless/airo.c:7656: error: unknown field 'num_private_args' specified in initializer drivers/net/wireless/airo.c:7656: warning: excess elements in struct initializer drivers/net/wireless/airo.c:7656: warning: (near initialization for 'airo_handler_def') drivers/net/wireless/airo.c:7658: error: unknown field 'private' specified in initializer drivers/net/wireless/airo.c:7658: warning: initialization makes integer from pointer without a cast drivers/net/wireless/airo.c:7658: error: initializer element is not computable at load time drivers/net/wireless/airo.c:7658: error: (near initialization for 'airo_handler_def.num_standard') drivers/net/wireless/airo.c:7659: error: unknown field 'private_args' specified in initializer drivers/net/wireless/airo.c:7659: warning: initialization from incompatible pointer type Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-16Merge branch 'wireless-next-2.6' of ↵John W. Linville16-124/+273
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
2010-02-12ath9k: add a workaround for ack timeout issuesFelix Fietkau1-0/+11
Adding support for setting the coverage class in some cases broke association and data transfer, as it overwrote the initial ACK timeout value from the initvals with a smaller value. I don't know why the new value works in 5 GHz (matches the initval there), but not in 2.4 GHz (initvals use 64us here), so until the problem is fully understood, the value should be increased again. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-11iwlwifi: Monitor and recover the aggregation TX flow failureTrieu 'Andrew' Nguyen3-1/+62
This change monitors the tx statistics to detect the drop in throughput. When the throughput drops, the ratio of the actual_ack_count and the expected_ ack_count also drops. At the same time, the aggregated ba_timeout (the number of ba timeout retries) also rises. If the actual_ack_count/expected_ack_count ratio is 0 and the number of ba timeout retries rises to 16, no tx packets (tcp, udp, or ping - icmp) can be delivered. The driver recovers from this situation by reseting the uCode firmware. If the actual_ack_count/expected_ ack_count ratio drops below 50% (but not 0) and the aggregated ba_timeout retries just exceed 5 (but not 16), then the driver can reset the radio to bring the throughput up. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: clear all the stop_queue flag after load firmwareWey-Yi Guy2-0/+10
All the queues are awake and ready to use after loading firmware, for firmware reload case, if any queues was stopped before reload, mac80211 will wake those queues after restart hardware, so make sure all the flag used to keep track of the queue status are reset correctly. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: use dma_alloc_coherentStanislaw Gruszka6-43/+44
Change pci_alloc_consistent() to dma_alloc_coherent() so we can use GFP_KERNEL flag. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: Adjusting PLCP error threshold for 1000 NICTrieu 'Andrew' Nguyen2-2/+3
While testing the station with the NIC 1000 family, it is found that the plcp error can easily exceed 50 value in 100mSecs. This creates unneccessary radio reset/tuning. This patch raises the PLCP error threshold of the NIC 1000 from 50 to 200 error count. Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: reset card during probeReinette Chatre2-0/+15
To ensure that card is in a sane state during probe we add a reset call. This change was prompted by users of kdump who was not able to bring up the wireless driver in the kdump kernel. The problem here was that the primary kernel, which is not running at the time, left the wireless card up and running. When the kdump kernel starts it is thus possible to immediately receive interrupts from firmware after registering interrupt, but without being ready to deal with interrupts from firmware yet. Reported-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: fix scan raceReinette Chatre1-15/+12
There is a problem if an "internal short scan" is in progress when a mac80211 requested scan arrives. If this new scan request arrives within the "next_scan_jiffies" period then driver will immediately return success and complete the scan. The problem here is that the scan has not been fully initialized at this time (is_internal_short_scan is still set to true because of the currently running scan), which results in the scan completion never to be sent to mac80211. At this time also, evan though the internal short scan is still running the state (is_internal_short_scan) will be set to false, so when the internal scan does complete then mac80211 will receive a scan completion. Fix this by checking right away if a scan is in progress when a scan request arrives from mac80211. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: cleanup return valuesAbhijeet Kolekar4-37/+17
Cleanup return values and removes unnecessary code. Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: remove unused op-code in PHY Calibration commandWey-Yi Guy1-4/+0
Number of calibration op-code are not used by driver, remove those from iwl-commands.h Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: check for aggregation frame and queueWey-Yi Guy2-7/+26
Error checking for aggregation frames should go into aggregation queue, if aggregation queue not available, use legacy queue instead. Also make sure the aggregation queue is available to activate, if driver and mac80211 is out-of-sync, try to disable the queue and sync-up with mac80211. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: add debug function to reset/reload radio/firmwareWey-Yi Guy1-0/+28
Adding function to force reset radio or reload firmware from debugfs. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: multiple force reset modeWey-Yi Guy5-15/+52
Provide the function to perform different type of uCode reset/reload operation. When uCode detect error and can not fix itself, this iwl_force_reset() function allow driver to perform the necessary reset/reload functions and help to bring uCode back to normal operation state. Currently only 2 type of force reset are available: - reset radio - reload firmware Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11iwlwifi: clear all tx queues when firmware readyWey-Yi Guy2-0/+4
Reset and clear all the tx queues when finished downloading runtime uCode and ready to go into operation mode. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-02-11Add Station and AdHoc mode support to libertas_tfDeepak Saxena1-0/+3
Add support for using the libertas_tf driver on a managed or ad-hoc network. Signed-off-by: Deepak Saxena <dsaxena@laptop.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-11ath5k: use correct packet type when transmittingBob Copeland2-2/+25
The hardware needs to know what type of frames are being sent in order to fill in various fields, for example the timestamp in probe responses (before this patch, it was always 0). Set it correctly when initializing the TX descriptor. Signed-off-by: Bob Copeland <me@bobcopeland.com> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ath9k: Enable IEEE80211_HW_REPORTS_TX_ACK_STATUS flag for ath9k.Vivek Natarajan1-1/+2
Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ath: fix WARN_ON with Polish (Poland) Contry codeChristian Lamparter1-2/+3
This patch fixes a WARN_ON which is triggered by Poland's country code. ath: EEPROM regdomain: 0x8268 ath: EEPROM indicates we should expect a country code ath: doing EEPROM country->regdmn map search ath: country maps to regdmn code: 0x37 ath: Country alpha2 being used: PL ath: Regpair used: 0x37 -----------[ cut here ]------------ WARNING: at drivers/net/wireless/ath/regd.c:155 ath_regd_init+0x30b Pid: 12661, comm: firmware/carl91 2.6.33-rc5-wl #18 Call Trace: [<>] ? warn_slowpath_common+0x76/0x8c [<>] ? ar9170_reg_notifier+0x0/0x2d [carl9170usb] [<>] ? ath_regd_init+0x30b/0x377 [ath] [<>] ? ar9170_register+0x3b3/0x3ca [carl9170usb] [...] ---[ end trace ]--- Note: Poland is just an example. But it is very likely that more country codes are affected. Cc: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09rt2x00: remove get_tx_stats() mac80211 opKalle Valo8-24/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09p54: remove get_tx_stats() mac80211 opKalle Valo3-13/+8
get_tx_stats() will be removed from mac80211. p54 uses struct ieee80211_tx_queue_stats also internally, so create a new identical struct p54_tx_queue_stats which the driver can use. Compile-tested only. Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Tested-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09iwlwifi: remove get_tx_stats() mac80211 opKalle Valo4-40/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43legacy: remove get_tx_stats() mac80211 opKalle Valo5-78/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: remove get_tx_stats() mac80211 opKalle Valo5-66/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Stefano Brivio <stefano.brivio@polimi.it> Cc: Michael Buesch <mb@bu3sch.de> Cc: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ath5k: remove get_tx_stats() mac80211 opKalle Valo2-19/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Jiri Slaby <jirislaby@gmail.com> Cc: Nick Kossifidis <mickflemm@gmail.com> Cc: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Acked-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ar9170: remove get_tx_stats() mac80211 opKalle Valo2-14/+7
get_tx_stats() will be removed from mac80211. Because ar9170 uses ieee80211_tx_queue_stats internally, create a new identical struct ar9170_tx_queue_stats which the driver can use. Compile-tested only. Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Tested-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09mwl8k: remove get_tx_stats() mac80211 opKalle Valo1-28/+7
get_tx_stats() will be removed from mac80211. mwl8k used struct ieee80211_tx_queue_stats internally to track the queue lenght. Replace struct ieee80211_tx_queue_stats with a simple len field in struct mwl8k_tx_queue. Limit and count fields seemed to be unused. Compile-tested only. Cc: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09adm821: remove get_tx_stats() mac80211 opKalle Valo1-13/+0
get_tx_stats() will be removed from mac80211. Compile-tested only. Cc: Michael Wu <flamingice@sourmilk.net> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ath9k: fix keycache leak in split tkip caseMing Lei1-0/+1
If split tkip key is used, ath_delete_key should delete rx key and rx mic key. This patch fixes the leak of hw keycache in the case. Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09iwlwifi: Send broadcast probe request only when asked toSamuel Ortiz2-17/+34
When running directed active scans we currently end up sending both the SSID probe requests and an additional broadcast one. This is due to the fact that we always leave the probe request template SSID IE length to 0. Instead we should set it to the first SSID to scan, and fill the direct_scan array with the remaining SSIDs to scan for. This way we only send what we've been asked to: a broadcast probe request when no directed scan is requested, and directed probe requests otherwise. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09iwlwifi: Add chain_noise support for 6050Ben Cahill1-17/+2
Existing iwl6050_ops->iwl6050_hcmd_utils structure had no pointers to chain noise functions (gain_computation and chain_noise_reset). As it turns out, by adding chain_noise_scale (see related patch), there is no need for separate chain noise function, so simply use iwl6000_ops->iwl5000_hcmd_utils, and remove those for 6050. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09iwlwifi: Add chain noise scaling factorBen Cahill4-2/+28
6x50 device requires a different scaling factor for Rx gain values sent to device via PHY_CALIBRATION_CMD (CHAIN_NOISE_GAIN_CMD). Rather than create a new iwlXXXX_gain_computation() function, add new chain_noise_scale member to struct iwl_cfg, and keep using iwl5000_gain_computation(). Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09libertas: don't retry commandsHolger Schurig3-30/+7
Retrying commands seldomly works, most often the firmware is in a weird state anyway and needs the device to reset. So it's better to report the broken state back to user-space. Also rename command_timer_fn() into lbs_cmd_timeout_handler(), which better reflect it's usage. Signed-off-by: Holger Schurig <holgerschurig@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09wl1251: fix txop unitKalle Valo1-1/+2
mac80211 uses unit units of 32 usec with txop but wl1251_acx_ac_cfg() expects it to be usecs. This fortunately didn't cause any severe problems, only that firmware was using incorrect WMM settings. Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: handle allocation fail in samples generationRafał Miłecki1-0/+4
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: load generated samplesRafał Miłecki1-2/+29
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: partly implement SPUR workaroundRafał Miłecki2-1/+66
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: save calibration for further restoreRafał Miłecki2-1/+51
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: prepare code for reapplying TX cal coeffsRafał Miłecki1-1/+34
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09b43: N-PHY: implement overriding RF control intcRafał Miłecki1-8/+109
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09libertas/if_spi: needs linux/semaphore.hRandy Dunlap1-0/+1
libertas/if_spi.c needs to #include linux/semaphore.h to fix build errors: drivers/net/wireless/libertas/if_spi.c:59: error: field 'spi_ready' has incomplete type drivers/net/wireless/libertas/if_spi.c:60: error: field 'spi_thread_terminated' has incomplete type drivers/net/wireless/libertas/if_spi.c:785: error: implicit declaration of function 'down_interruptible' drivers/net/wireless/libertas/if_spi.c:787: error: implicit declaration of function 'up' drivers/net/wireless/libertas/if_spi.c:834: error: implicit declaration of function 'down' drivers/net/wireless/libertas/if_spi.c:943: error: implicit declaration of function 'sema_init' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-02-09ssb: fix interrupt assignmentJochen Friedrich1-1/+4
Explicitely enable shared interrupt 2 for any core that didn't get a dedicated IRQ anymore (fallthrough case) and for EXTIF cores to make gpio interrupts work. Also remove a bogus comment. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>