aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-03-12iwlwifi: Add bool mvm_ucode to iwl_fwDavid Spinadel2-1/+10
mvm_ucode is true when mvm TLVs arive. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: change struct iwl_fwDavid Spinadel7-141/+139
Change iwl_fw struct to hold an array of fw_img instead of three separated instances. Change fw_img to hold an array of fw_desc instead of two separate descriptors for instructions and data. Change load_given_ucode, load_section, verification functions etc. to support this structure. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: Add TLVs and fields for 16.0 uCodeDavid Spinadel4-16/+108
New TLVs for ucode sections that are not known as instruction or data. New TLVs for phy-configuration and default calibrations. Add default calib and phy config fields to iwl_fw. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: more modularity in fw images and sectionsDavid Spinadel3-77/+207
Changed iwl_firmware_pieces structure to support an array of separate images, and an array of sections for each image. In fw_sec and fw_desc structures, added a field for offset from the HW address, to support 16.0 uCode that provides an offset instead of any other data about the section. This field is filled with default values when parsing instruction or data section. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: explicitly track whether INIT uCode was runDavid Spinadel3-5/+6
Remove IWL_UCODE_NONE from enum iwl_ucode_type which, by being the default value in 0-initialized memory, implicitly allowed us to track whether any uCode had ever been loaded successfully (which would have been the INIT uCode) and instead explicitly track whether or not INIT uCode has been run. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: avoid some operations if no uCode loadedDavid Spinadel7-20/+48
Printing the SRAM and similar testmode operations could be triggered when no uCode is loaded; prevent those invalid operations by tracking whether uCode is loaded. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: move wait_command_queue from shared to transMeenakshi Venkataraman8-10/+11
This wait queue really belongs to the transport layer, as it is used for sending synchronous commands to the HW. However, only op_mode knows about errors and exceptional conditions, so make this queue accessible by the op_mode. Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: convert bad state message into warningJohannes Berg1-14/+14
Looking at logs, I see that we did get the bad state message a few times for some reason, but it doesn't indicate why or where it came from, so make it a warning in order to identify it. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: abstract out missing SEQ_RX_FRAME workaroundJohannes Berg5-18/+39
Mohammed Shafi ran into [1] the SEQ_RX_FRAME workaround warning with a statistics notification, this means we can't just remove it as we'd hoped. Abstract it out so that the higher layer can configure this as a kind of "filter" in the transport. [1] http://mid.gmane.org/CAD2nsn1_DzbRHuSbS_1rFNzuux_9pW1-pABEasQ01_y7-ndO5w@mail.gmail.com Reported-by: Mohammed Shafi <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12iwlwifi: remove TX hex debugJohannes Berg1-2/+0
Tracing is much better for this, so remove the hex printk debug for the TX command. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k: fix going to full-sleep on PS idleFelix Fietkau1-3/+5
The check for PS_WAIT_FOR_TX_ACK was inverted, the hardware should only go to full sleep if no tx is pending. Reported-by: Sujith Manoharan <[email protected]> Signed-off-by: Felix Fietkau <[email protected]> Cc: [email protected] Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k: Fix mactime from being clobbered in rx_statusAshok Nagarajan1-2/+2
mactime was being overwritten by the function ath9k_rx_skb_preprocess. Fixed by memsetting rx_status in ath_rx_tasklet. Signed-off-by: Ashok Nagarajan <[email protected]> Signed-off-by: Javier Cardona <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k: configure bss info at assoc notificationRajkumar Manoharan1-1/+1
The proper place to configure bss info is at assoc notification. So that ath9k continues to work if the supirous bssid notification will be removed in future. Cc: Johannes Berg <[email protected]> Reported-by: Sujith Manoharan <[email protected]> Signed-off-by: Rajkumar Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211: add auth/assoc/deauth flow diagramJohannes Berg1-0/+99
I've been working on some documentation, so let's add this diagram to the kernel tree where at least it has a chance of being maintained :-) Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12rt2x00: Fix beacon skew in rt2800pciHelmut Schaa2-0/+33
rt2800pci is suffering from beacon skew in AP mode. Some powersaving clients (like VOIP phones) are getting into trouble after some time when the beacon skew is getting too big. The ralink legacy drivers contain a function that indicates that the beacon timer is off by 1us per tbtt. And this function works around that by reducing the beacon interval for every 64th beacon transmission by 64us (the smallest possible value). Do the same in rt2800pci. This allows proper powersaving when rt2800pci is used in AP mode. Signed-off-by: Helmut Schaa <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211: Disable MCS > 7 in minstrel_ht when STA uses static SMPSHelmut Schaa1-0/+9
Disable multi stream rates (MCS > 7) when a STA is in static SMPS mode since it has only one active rx chain. Hence, it doesn't even make sense to sample multi stream rates. Signed-off-by: Helmut Schaa <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211: set channel back after disassociatingJohannes Berg1-7/+6
As we've discussed, we want to avoid channel changes while associated. While the part when we actually associate needs a bit more work, the bit that happens on disassociating can be changed quite easily. Move the channel type change later in the disassociate process to set the channel only after the driver was told that it's now disassociated. As the driver could expect powersave to be enabled only when associated, this thus results in splitting the config call, but overall what happens makes more sense this way. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211: remove tx_syncJohannes Berg5-161/+0
When the station state callback was added, this was no longer needed in theory. With the iwlwifi changes to remove use of it landing, we can kill the entire tx-sync framework again, RIP. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k_hw: Fix enabling of MCI and RTTMohammed Shafi Shajakhan2-2/+12
tested in AR9462 Rev:2, both hardware capability flag are set Signed-off-by: Mohammed Shafi Shajakhan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12net/wireless: ipw2x00: remove unused definitions for regulatory domainStanislav Yakovlev1-12/+0
ipw2200 driver does not use these defines, it uses geo struct instead. Therefore remove them from its header. Note: we keep them in the ipw2100 driver's header, because the driver still uses them. Signed-off-by: Stanislav Yakovlev <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k: Add wiphy name to log messages.Ben Greear2-17/+18
On systems with multiple NICs, it's nice to know which one is producing warnings. Here is an example of the new ouput: ath: wiphy0: Failed to stop TX DMA, queues=0x005! Signed-off-by: Ben Greear <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211_hwsim: Fix set mactime on receiver hwsim radioAshok Nagarajan1-1/+2
The patch "mac80211_hwsim: Add tsf to beacons, probe responses and radiotap header" was setting the mactime on wrong hwsim radio. This patch fixes it. Signed-off-by: Ashok Nagarajan <[email protected]> Signed-off-by: Javier Cardona <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12mac80211: Limit TID buffering during BA session setup/teardownHelmut Schaa1-0/+6
While setting up or tearing down a BA session mac80211 is buffering pending frames for the according TID. However, there's currently no limit on how many frames are buffered possibly leading to an out-of- memory situation. This can happen on systems with little memory when the CPU is fully loaded since the BA session work is executed in process context while frames can still come via softirq. Apply a limitation to the TIDs pending queue to avoid consuming too much memory in this situation. Signed-off-by: Helmut Schaa <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12cfg80211: Add background scan period attribute.Bala Shanmugam4-0/+24
Receive background scan period as part of connect command and pass the same to the driver. Signed-off-by: Bala Shanmugam <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath9k: Fix BTCOEX shutdownSujith Manoharan1-1/+2
Flush MCI profiles only if MCI is being actually used. This fixes a panic on driver unload when non-MCI devices are being used and btcoex_enable is set. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffffa06296d2>] ath_mci_flush_profile+0x12/0x100 [ath9k] Call Trace: [<ffffffffa061befe>] ath9k_stop_btcoex+0x5e/0x80 [ath9k] [<ffffffffa061ed57>] ath9k_stop+0xb7/0x230 [ath9k] [<ffffffffa0533f30>] ieee80211_stop_device+0x50/0x180 [mac80211] [<ffffffffa051f0cf>] ieee80211_do_stop+0x2af/0x6a0 [mac80211] [<ffffffffa051f4da>] ieee80211_stop+0x1a/0x20 [mac80211] [<ffffffff81365d96>] __dev_close_many+0x86/0xe0 [<ffffffff81365ee0>] dev_close_many+0xa0/0x110 [<ffffffff81366038>] rollback_registered_many+0xe8/0x260 [<ffffffff813661cb>] unregister_netdevice_many+0x1b/0x80 [<ffffffffa051e950>] ieee80211_remove_interfaces+0xd0/0x110 [mac80211] [<ffffffffa050c133>] ieee80211_unregister_hw+0x53/0x120 [mac80211] [<ffffffffa061d5a4>] ath9k_deinit_device+0x44/0x70 [ath9k] [<ffffffffa062c1d4>] ath_pci_remove+0x54/0xa0 [ath9k] [<ffffffff81267c46>] pci_device_remove+0x46/0x110 [<ffffffff8131021c>] __device_release_driver+0x7c/0xe0 [<ffffffff81310960>] driver_detach+0xd0/0xe0 [<ffffffff81310078>] bus_remove_driver+0x88/0xe0 [<ffffffff81311122>] driver_unregister+0x62/0xa0 [<ffffffff81268004>] pci_unregister_driver+0x44/0xc0 [<ffffffffa062c8b5>] ath_pci_exit+0x15/0x20 [ath9k] [<ffffffffa063205d>] ath9k_exit+0x15/0x31 [ath9k] [<ffffffff810b92cc>] sys_delete_module+0x18c/0x270 [<ffffffff814373dd>] ? retint_swapgs+0x13/0x1b [<ffffffff8124828e>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff81437de9>] system_call_fastpath+0x16/0x1b Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-12ath6kl: Fix merge error in ath6kl_set_ies()Aarthi Thiruvengadam1-24/+21
Portion of the commit id 080eec4fb4 ("ath6kl: Clear the IE in firmware if not set") was overwritten by mistake due to a merge conflict. This patch fixes the code back to how it should be. kvalo: more details to the commit log Signed-off-by: Aarthi Thiruvengadam <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2012-03-09iwlwifi: fix the delta for remove max_txq_num patchWey-Yi Guy10-28/+23
BIg portion of "iwlwifi: remove max_txq_num from hw_params" was missing during merge, here is the fix for it. Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-09iwlwifi: fix cmd_queue number mergeWey-Yi Guy2-7/+3
iwlwifi: move command queue number out of the iwl_shared struct move the cmd_queue out of iwl_shared struct, but for some reason the patch is half done and fail compile Here is the fix John, could you apply this patch to wireless-next to address the issue Thanks Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-09iwlwifi: restore PAN supportEmmanuel Grumbach2-30/+32
in iwlwifi: move setting up fw parameters Meenakshi moved code up to configure the transport layer, but this code read the sku before it was set (from the EEPROM). This killed P2P. Only the ucode_flags are needed to configure the transport layer, not the sku which _must_ be set after the EEPROM is read. We need to reconfigure the transport in case the EEPROM disabled PAN support. This is not the nicest thing to do, but we have no choice. Document that we are allowed to configure the transport several times before start_fw, but not after. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-09iwlwifi: move command queue number out of the iwl_shared structMeenakshi Venkataraman7-33/+56
The command queue number is required by the transport layer, but it can be determined only by the op mode. Move this parameter to the dvm op mode, and configure the transport layer using an API. Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08mwifiex: correction in number of bitratesAmitkumar Karwar1-1/+1
In recent commit "mwifiex: correct bitrates advertised..", we have removed 22Mbps and 72Mbps bitrates from supported bitrate array. It means number of bitrates has reduced from 14 to 12. Initialize ".n_bitrates" to array size instead of hardcoding it. Signed-off-by: Amitkumar Karwar <[email protected]> Signed-off-by: Bing Zhao <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08net/wireless: ipw2x00: remove WEXT_USECHANNELS defineStanislav Yakovlev2-4/+0
Driver does not use it any more. Signed-off-by: Stanislav Yakovlev <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08mac80211: update ieee80211_tx_rate_control kerneldocSimon Wunderlich1-4/+5
* add entry for rate_idx_mcs_mask * fix order of entries to represent the structs' order Signed-off-by: Simon Wunderlich <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: correct status bit refactoring errorsDon Fry2-5/+5
I missed a couple of status bits in my refactoring changes. This fixes the ones I missed. Signed-off-by: Don Fry <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: don't delete AP station directlyJohannes Berg3-6/+53
With the mac80211 deauth sequence changes, the station is deleted before the device is set unassociated. This can cause the device to get confused as it expects the station to be there while the associated bit is set. To fix this, do not delete the AP station from the device when mac80211 asks for deletion, instead just mark it as unused and rely on the unassociated RXON to drop it from the station database in the device. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: make iwl_init_context staticJohannes Berg2-2/+1
It's not needed anywhere but during init. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: remove messages from queue wake/stopJohannes Berg2-20/+20
The only reason we ever stop/wake queues at the transport level is now that they become full (or non-full), so the messages aren't useful any more -- remove them. Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: more status bit factoringDon Fry17-166/+160
Continue splitting the status bits between transport and op_mode. All but a few are separated. Signed-off-by: Don Fry <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: move setting up fw parametersMeenakshi Venkataraman1-21/+24
Gather parameters required to configure the transport layer before invoking the transport configuration API. Change-Id: I5b39da284af6d9b5432a08911b4e1173a4d7207d Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: configure transport layer from dvm op modeMeenakshi Venkataraman2-3/+21
Introduce the iwl_trans_config struct which contains state variables that only the op mode can determine, but which the transport layer needs to know. Signed-off-by: Meenakshi Venkataraman <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: log stop / wake queuesEmmanuel Grumbach2-1/+7
There were a few missing occurences when we get PASSIVE_NO_RX notification. Signed-off-by: Emmanuel Grumbach <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: make tx_cmd_pool kmem cache globalStanislaw Gruszka5-22/+21
Otherwise we are not able to run more than one device per driver: [ 24.743045] kmem_cache_create: duplicate cache iwl_dev_cmd [ 24.743051] Pid: 3165, comm: NetworkManager Not tainted 3.3.0-rc2-wl+ #5 [ 24.743054] Call Trace: [ 24.743066] [<ffffffff811717d5>] kmem_cache_create+0x655/0x700 [ 24.743101] [<ffffffffa03b9f8b>] iwl_alive_notify+0x1cb/0x1f0 [iwlwifi] [ 24.743111] [<ffffffffa03ba442>] iwl_load_ucode_wait_alive+0x1b2/0x220 [iwlwifi] [ 24.743142] [<ffffffffa03ba893>] iwl_run_init_ucode+0x73/0x100 [iwlwifi] [ 24.743152] [<ffffffffa03b8fa1>] __iwl_up+0x81/0x220 [iwlwifi] [ 24.743161] [<ffffffffa03b91c0>] iwlagn_mac_start+0x80/0x190 [iwlwifi] [ 24.743188] [<ffffffffa03307b3>] ieee80211_do_open+0x293/0x770 [mac80211] Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: separate status to priv and transDon Fry7-24/+14
The shared status bits are a mixture of transport and op mode bits. Some are used just by one or the other, some are shared. Begin the de-tangling of these bits. Signed-off-by: Don Fry <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: add option to test MFPDavid Spinadel2-0/+12
Add a Kconfig symbol to enable MFP for testing even if the firmware file doesn't advertise it. Signed-off-by: David Spinadel <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: fixed testmode notifications lengthAmit Beka1-1/+2
The length of iwl_rx_packet doesn't include the dword for the length itself, so add it manually. Signed-off-by: Amit Beka <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: add testmode command for rx forwardingAmit Beka3-9/+56
Added a testmode command which tells iwl_rx_dispatch to send the RX both as a notification to nl80211 and with the registered RX handlers. This is used for monitoring RX from userspace while preserving the regular flows in the driver. Signed-off-by: Amit Beka <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: reintroduce iwl_enable_rfkill_intStanislaw Gruszka3-9/+16
If device is disabled by rfkill switch, do not enable all interrupts, but only CSR_INT_BIT_RF_KILL to receive rfkill state change. Unblocking other interrupts might cause problems, since driver can not be prepared for receive them. Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: print DMA stop timeout error only if it happenedStanislaw Gruszka1-3/+4
iwl_poll_direct_bit() return negative error value on timeout, positive values do not indicate an error. Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: use writeb,writel,readl directlyStanislaw Gruszka2-8/+7
That change will save us some CPU cycles at run time. Having port-based I/O seems to be not possible for PCIe devices. Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-03-08iwlwifi: cleanup/fix memory barriersStanislaw Gruszka3-7/+7
wmb(), rmb() are not needed when writel(), readl() are used as accessors for MMIO. We use them indirectly via iowrite32(), ioread32(). What is needed mmiowb(), for synchronizing writes coming from different CPUs on PCIe bridge (see in patch comments). This fortunately is not needed on x86, where mmiowb() is just defined as compiler barrier. As iwlwifi devices are most likely not used on anything other than x86, this is not so important fix. Signed-off-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Wey-Yi Guy <[email protected]> Signed-off-by: John W. Linville <[email protected]>