summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
Commit message (Collapse)AuthorAgeFilesLines
* iwlwifi: fix memory leak if opmode fails to initJohannes Berg2012-05-251-9/+9
| | | | | | | | | | | | If drv->op_mode is NULL after trying to init the opmode, we go to the wrong label. Fix this, and clean up the code a bit. Reviewed-by: Gregory Greenman <gregory.greenman@intel.com> Reviewed-by: Guy Cohen <guy.cohen@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: do not send lq cmd when station add failsMeenakshi Venkataraman2012-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding a station fails in iwl_restore_stations, the driver treats it like a successful station add and sends a link quality command, when it it shouldn't. This patch fixes one of the potential sources for kernel warnings like this one: WARNING: at drivers/net/wireless/iwlwifi/iwl-agn-sta.c:905 iwl_send_lq_cmd+0x130/0x217 [iwlwifi]() Hardware name: 3323A2G Modules linked in: ... Pid: 17359, comm: kworker/u:2 Tainted: G O 3.3.0-wl+ #1 Call Trace: [<ffffffff81039620>] warn_slowpath_common+0x7e/0x96 [<ffffffff8103964d>] warn_slowpath_null+0x15/0x17 [<ffffffffa02a9f0b>] iwl_send_lq_cmd+0x130/0x217 [iwlwifi] [<ffffffffa02aa1fb>] iwl_restore_stations+0x209/0x289 [iwlwifi] [<ffffffffa02b07c2>] iwlagn_commit_rxon+0x602/0x7bd [iwlwifi] [<ffffffffa02b111f>] iwlagn_bss_info_changed+0x247/0x31a [iwlwifi] [<ffffffffa0861437>] ieee80211_bss_info_change_notify+0x1a5/0x1ba [mac80211] [<ffffffffa088afad>] ieee80211_destroy_auth_data+0x4b/0x70 [mac80211] [<ffffffffa088df26>] ieee80211_sta_work+0xb5/0x954 [mac80211] Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: remove ucode16 optionJohannes Berg2012-05-254-426/+0
| | | | | | | | | | The ucode16 option is still very much work in progress, so there's no need to ask any users about it. Remove the option and code for now, we'll put it back when it's actually working. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: do not use shadow registers by defaultMeenakshi Venkataraman2012-05-252-5/+5
| | | | | | | | | | | | | | | | | | | Shadow registers in the device are meant to allow the driver to update certain device registers without needing to wake up all components of the device. However, using this feature in the device causes communication between the driver and the device to become unreliable, resulting in host command timeouts. Disable this feature by default till a fix is available for the bug. Cc: stable@vger.kernel.org #2.6.38+ Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: fix the Transmit Frame Descriptor ringsEmmanuel Grumbach2012-05-253-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic that allows to have a short TFD queue was completely wrong. We do maintain 256 Transmit Frame Descriptors, but they point to recycled buffers. We used to attach and de-attach different TFDs for the same buffer and it worked since they pointed to the same buffer. Also zero the number of BDs after unmapping a TFD. This seems not necessary since we don't reclaim the same TFD twice, but I like housekeeping. This patch solves this warning: [ 6427.079855] WARNING: at lib/dma-debug.c:866 check_unmap+0x727/0x7a0() [ 6427.079859] Hardware name: Latitude E6410 [ 6427.079865] iwlwifi 0000:02:00.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000296d393c] [size=8 bytes] [ 6427.079870] Modules linked in: ... [ 6427.079950] Pid: 6613, comm: ifconfig Tainted: G O 3.3.3 #5 [ 6427.079954] Call Trace: [ 6427.079963] [<c10337a2>] warn_slowpath_common+0x72/0xa0 [ 6427.079982] [<c1033873>] warn_slowpath_fmt+0x33/0x40 [ 6427.079988] [<c12dcb77>] check_unmap+0x727/0x7a0 [ 6427.079995] [<c12dcdaa>] debug_dma_unmap_page+0x5a/0x80 [ 6427.080024] [<fe2312ac>] iwlagn_unmap_tfd+0x12c/0x180 [iwlwifi] [ 6427.080048] [<fe231349>] iwlagn_txq_free_tfd+0x49/0xb0 [iwlwifi] [ 6427.080071] [<fe228e37>] iwl_tx_queue_unmap+0x67/0x90 [iwlwifi] [ 6427.080095] [<fe22d221>] iwl_trans_pcie_stop_device+0x341/0x7b0 [iwlwifi] [ 6427.080113] [<fe204b0e>] iwl_down+0x17e/0x260 [iwlwifi] [ 6427.080132] [<fe20efec>] iwlagn_mac_stop+0x6c/0xf0 [iwlwifi] [ 6427.080168] [<fd8480ce>] ieee80211_stop_device+0x5e/0x190 [mac80211] [ 6427.080198] [<fd833208>] ieee80211_do_stop+0x288/0x620 [mac80211] [ 6427.080243] [<fd8335b7>] ieee80211_stop+0x17/0x20 [mac80211] [ 6427.080250] [<c148dac1>] __dev_close_many+0x81/0xd0 [ 6427.080270] [<c148db3d>] __dev_close+0x2d/0x50 [ 6427.080276] [<c148d152>] __dev_change_flags+0x82/0x150 [ 6427.080282] [<c148e3e3>] dev_change_flags+0x23/0x60 [ 6427.080289] [<c14f6320>] devinet_ioctl+0x6a0/0x770 [ 6427.080296] [<c14f8705>] inet_ioctl+0x95/0xb0 [ 6427.080304] [<c147a0f0>] sock_ioctl+0x70/0x270 Cc: stable@vger.kernel.org Reported-by: Antonio Quartulli <ordex@autistici.org> Tested-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* iwlwifi: update BT traffic load states correctlyMeenakshi Venkataraman2012-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | When BT traffic load changes from its previous state, a new LQ command needs to be sent down to the firmware. This needs to be done only once per change. The state variable that keeps track of this change is last_bt_traffic_load. However, it was not being updated when the change had been handled. Not updating this variable was causing a flood of advanced BT config commands to be sent to the firmware. Fix this. Cc: stable@vger.kernel.org #2.6.38+ Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-nextJohn W. Linville2012-05-228-29/+103
|\
| * iwlwifi: support explicit monitor interfaceJohannes Berg2012-05-163-1/+6
| | | | | | | | | | | | | | | | | | | | Support explicit monitor interface to keep injection working after the HW queue changes. This also finally enables sniffer mode. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: invert the order of ssid list in scan cmdDavid Spinadel2012-05-161-1/+5
| | | | | | | | | | | | | | | | | | | | | | The firmware inverts the order of ssid list of scan command, we should invert the order before sending the command, in order to get probe requests sent in wanted order. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: disable default wildcard ssid scanDavid Spinadel2012-05-162-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iwl_fill_probe_request has used to add a wildcard ssid IE to any probe request template, now it's disabled and it will send wildcard ssid only for full scan. Instead, the highest priority ssid is set to the template. Due to adding high priority SSID to the template, it reduce IE len, but since we had only 260 bytes for IEs before changing allocation size to be dynamic, now we should have a bit more room for IEs. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: fix scan_cmd_size allocationDavid Spinadel2012-05-162-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Allocate scan command with dynamic size based on uCode capability and num of channels. This isn't an important fix as the previous allocation was always too large as it added the scan command size but later subtracted it (which meant it was supposed to be part of the max scan size.) Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: don't disable AGG queues that are not enabledEmmanuel Grumbach2012-05-151-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the BA session is torn down before we had a chance to start it we shouldn't disable the AGG tx queues that weren't enabled. This can happen in two cases: 1) We get a delBA before we drained our Tx queues in agg start flow 2) We didn't get the (successfull) addBA response on time Reported-by: Daniel Chyan <dchyan@princeton.edu> 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>
| * iwlwifi: don't flood logs when HT debug flag is setEmmanuel Grumbach2012-05-151-4/+3
| | | | | | | | | | | | | | | | We have TX_REPLY for 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>
| * iwlwifi: fix power index handlingAmit Beka2012-05-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | The power index that the user gives as module parameter in in range 1-5, but we need to decrease it in order to create an array index out of it (0-4) for the power table command. Signed-off-by: Amit Beka <amit.beka@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: make sure reduced tx power bit is validWey-Yi Guy2012-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Once driver decide to change reduced tx power behavior, make sure the reduce tx power valid bit is set Change-Id: I3afae96319292d8cb347a812a948085c5db7ad91 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Reviewed-on: http://git-mwg.jer.intel.com/gerrit/1948 Tested-by: Jenkins Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: add documentation for bt reduced tx powerWey-Yi Guy2012-05-152-1/+27
| | | | | | | | | | | | | | | | | | Change-Id: Ia6294d651dcffdcaf8b62e67bcef52bd8c158dea Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Reviewed-on: http://git-mwg.jer.intel.com/gerrit/1947 Tested-by: Jenkins Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: include rssi as part of decision making for reduce txpowerWey-Yi Guy2012-05-151-0/+11
| | | | | | | | | | | | | | | | | | | | | | In bt coex, consider the average rssi as part of decision making process Change-Id: I8d11d7f177a6875e2a9d08f7539d42253226fd7a Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Reviewed-on: http://git-mwg.jer.intel.com/gerrit/1945 Tested-by: Jenkins Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | iwlwifi: dont pull too much payload in skb headEric Dumazet2012-05-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As iwlwifi use fat skbs, it should not pull too much data in skb->head, and particularly no tcp data payload, or splice() is slower, and TCP coalescing is disabled. Copying payload to userland also involves at least two copies (part from header, part from fragment) Each layer will pull its header from the fragment as needed. (on 64bit arches, skb_tailroom(skb) at this point is 192 bytes) With this patch applied, I have a major reduction of collapsed/pruned TCP packets, a nice increase of TCPRcvCoalesce counter, and overall better Internet User experience. Small packets are still using a fragless skb, so that page can be reused by the driver. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Johannes Berg <johannes.berg@intel.com> Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'master' of ↵David S. Miller2012-05-149-114/+125
|\ \ | |/ | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
| * iwlwifi: fix-up some merge damage from commit 0d6c4a2John W. Linville2012-05-081-1/+2
| | | | | | | | Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: use 6000G2B for 6030 device seriesWey-Yi Guy2012-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | "iwlwifi: use correct released ucode version" change the ucode api ok from 6000G2 to 6000G2B, but it shall belong to 6030 device series, not the 6005 device series. Fix it Cc: stable@vger.kernel.org #3.3+ Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: use correct released ucode versionMeenakshi Venkataraman2012-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | Report correctly the latest released version of the iwlwifi firmware for all iwlwifi-supported devices. Cc: stable@vger.kernel.org #3.3+ Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: remove the iwl_shared referenceWey-Yi Guy2012-05-081-3/+3
| | | | | | | | | | | | | | | | Change-Id: I10e42e0cc7dd91047f093ea2c5a55d65c004ada6 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Reviewed-on: http://git-mwg.jer.intel.com/gerrit/1939 Tested-by: Jenkins Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * iwlwifi: modify #ifdef to avoid sparse complainWey-Yi Guy2012-05-082-19/+18
| | | | | | | | Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: don't init trans->reg_lock from the op_modeEmmanuel Grumbach2012-05-082-1/+1
| | | | | | | | | | | | | | This doesn't make any sense. Init it from the transport instead. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add option to disable 5GHz bandStanislaw Gruszka2012-05-083-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | There are various problems happened on 5GHz band not observed on 2.4 GHz (microcode errors, queue stuck, etc... ) . Also roaming between 5GHz AP and 2GHz does not work very well. To workaround the problems add option to disable 5GHz support. This will help on environments where APs are dual-band, and devices will not try to associate on band where issues happen. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: use IWL_* instead of dev_printk when possibleEmmanuel Grumbach2012-05-082-10/+9
| | | | | | | | | | | | | | | | Also remove a debug print when allocation error occurred. The kernel will complain anyway. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add loose coex lutWey-Yi Guy2012-05-081-2/+21
| | | | | | | | | | | | Add the Loose coex LUT and will use later for better bt coex tpt Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: change kill mask based on reduce power stateWey-Yi Guy2012-05-082-9/+20
| | | | | | | | | | | | In bt coex, consider reduce tx power as part of ack/cts kill mask Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: send reduce tx power info in commandWey-Yi Guy2012-05-082-1/+3
| | | | | | | | | | | | Add the reduce tx power information in bt coex host command Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: small define changeWey-Yi Guy2012-05-081-1/+3
| | | | | | | | Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add reduced tx power threshold defineWey-Yi Guy2012-05-081-0/+3
| | | | | | | | Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add checking for the condition to reduce tx powerWey-Yi Guy2012-05-082-4/+39
| | | | | | | | | | | | | | | | When bluetooth coex is active and certain condition matched, driver need to decide should the tx power been reduce or not. Adding the logic to manage it. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: add BT reduced tx power flagWey-Yi Guy2012-05-081-2/+2
| | | | | | | | Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * iwlwifi: remove unused macrosWey-Yi Guy2012-05-081-69/+0
| | | | | | | | Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
* | drivers/net: Convert compare_ether_addr to ether_addr_equalJoe Perches2012-05-103-9/+9
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new bool function ether_addr_equal to add some clarity and reduce the likelihood for misuse of compare_ether_addr for sorting. Done via cocci script: $ cat compare_ether_addr.cocci @@ expression a,b; @@ - !compare_ether_addr(a, b) + ether_addr_equal(a, b) @@ expression a,b; @@ - compare_ether_addr(a, b) + !ether_addr_equal(a, b) @@ expression a,b; @@ - !ether_addr_equal(a, b) == 0 + ether_addr_equal(a, b) @@ expression a,b; @@ - !ether_addr_equal(a, b) != 0 + !ether_addr_equal(a, b) @@ expression a,b; @@ - ether_addr_equal(a, b) == 0 + !ether_addr_equal(a, b) @@ expression a,b; @@ - ether_addr_equal(a, b) != 0 + ether_addr_equal(a, b) @@ expression a,b; @@ - !!ether_addr_equal(a, b) + ether_addr_equal(a, b) Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller2012-05-0711-37/+96
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/net/ethernet/intel/e1000e/param.c drivers/net/wireless/iwlwifi/iwl-agn-rx.c drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c drivers/net/wireless/iwlwifi/iwl-trans.h Resolved the iwlwifi conflict with mainline using 3-way diff posted by John Linville and Stephen Rothwell. In 'net' we added a bug fix to make iwlwifi report a more accurate skb->truesize but this conflicted with RX path changes that happened meanwhile in net-next. In e1000e a conflict arose in the validation code for settings of adapter->itr. 'net-next' had more sophisticated logic so that logic was used. Signed-off-by: David S. Miller <davem@davemloft.net>
| * iwlwifi: fix skb truesize underestimationEric Dumazet2012-05-033-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, iwlwifi uses order-1 pages (8 KB) to store incoming frames, but doesnt say so in skb->truesize. This makes very possible to exhaust kernel memory since these skb evade normal socket memory accounting. As struct ieee80211_hdr is going to be pulled before calling IP stack, there is no need to use dev_alloc_skb() to reserve NET_SKB_PAD bytes. alloc_skb() is ok in this driver, allowing more tailroom. Pull beginning of frame in skb header, in the hope we can reuse order-1 pages in the driver immediately for small frames and reduce their truesize to the minimum (linear skbs) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Neal Cardwell <ncardwell@google.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: use 6000G2B for 6030 device seriesWey-Yi Guy2012-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | "iwlwifi: use correct released ucode version" change the ucode api ok from 6000G2 to 6000G2B, but it shall belong to 6030 device series, not the 6005 device series. Fix it Cc: stable@vger.kernel.org #3.3+ Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: use correct released ucode versionMeenakshi Venkataraman2012-04-244-18/+27
| | | | | | | | | | | | | | | | | | | | | | Report correctly the latest released version of the iwlwifi firmware for all iwlwifi-supported devices. Cc: stable@vger.kernel.org #3.3+ Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: fix hardware queue programmingJohannes Berg2012-04-242-8/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer devices have 20 (5000 series) or 30 (6000 series) hardware queues, rather than the 16 that 4965 had. This was added to the driver a long time ago, but improperly: the queue registers for the higher queues aren't just continuations of the registers for the first 16 queues, they are in other places. Therefore, the hardware would lock up when trying to activate queue 16 or above and the device would have to be restarted. Thanks goes to Emmanuel who identified this and told me how the queue programming should be done. Note that we don't use queues 20 and higher today and doing so needs more work than this. Cc: stable@vger.kernel.org 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>
| * iwlwifi: do not nulify ctx->vif on resetStanislaw Gruszka2012-04-232-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ctx->vif is dereferenced in different part of iwlwifi code, so do not nullify it. This should address at least one of the possible reasons of WARNING at iwlagn_mac_remove_interface, and perhaps some random crashes when firmware reset is performed. Cc: stable@vger.kernel.org Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | Merge branch 'master' of ↵John W. Linville2012-04-2649-1660/+953
|\ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-testmode.c
| * | iwlwifi: use new mac80211 queue schemeJohannes Berg2012-04-234-74/+66
| | | | | | | | | | | | | | | Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: clean up module parametersJohannes Berg2012-04-2317-124/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now at least, all module parameters should be with the core functionality, so move them there, while at it rename to iwlwifi_mod_params. Also rename iwl-shared.h to iwl-modparams.h to reflect the real contents. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: revert workaround to restore 1000 rx throughputDon Fry2012-04-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | A workaround in commit c0486b7ccc5 resulted in a 40% drop in receive throughput in order to fix a transmit problem. The transmit problem no longer occurs, so restore the receive throughput. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: use direct calls for transport freeJohannes Berg2012-04-234-28/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the transport allocates and frees itself in the transport specific code, there's no need for virtual functions for it. Remove the free method and call the correct functions directly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: clean up some hw file includesJohannes Berg2012-04-234-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't get rid of everything yet due to the BT definitions that I'm not quite sure yet how to handle, but we can get rid of most unneeded includes. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move OTP definesJohannes Berg2012-04-232-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the PCI core shouldn't include the iwl-eeprom.h header file, move the OTP definitions into iwl-agn-hw.h which can be included. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
| * | iwlwifi: move antenna definitions to configJohannes Berg2012-04-232-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | Since they're used in the config, they should be declared in iwl-config.h. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
OpenPOWER on IntegriCloud