summaryrefslogtreecommitdiff
path: root/drivers/net
AgeCommit message (Collapse)AuthorFilesLines
2013-04-18iwlwifi: dvm: don't send zeroed LQ cmdEmmanuel Grumbach1-1/+4
When the stations are being restored because of unassoc RXON, the LQ cmd may not have been initialized because it is initialized only after association. Sending zeroed LQ_CMD makes the fw unhappy: it raises SYSASSERT_2078. Cc: stable@vger.kernel.org Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> [move zero_lq and make static const] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-18iwlwifi: remove unneeded goto from iwl_dbgfs_log_event_readStanislaw Gruszka1-4/+2
Make code simpler a bit. Reported-by: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-18iwlwifi: mvm: remove usage of power_save module parameterAlexander Bondar2-5/+3
Make power management in MVM driver enabled by default and remove using the power_save module parameter. Rely only on the power_scheme parameter to decide if power management should be used. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-18iwlwifi: remove redundant argument from iwl_dump_nic_event_logStanislaw Gruszka3-6/+6
We can check buf against NULL instead of having additional bool variable. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-18iwlwifi: fix freeing uninitialized pointerStanislaw Gruszka1-8/+8
If on iwl_dump_nic_event_log() error occurs before that function initialize buf, we process uninitiated pointer in iwl_dbgfs_log_event_read() and can hit "BUG at mm/slub.c:3409" Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=951241 Cc: stable@vger.kernel.org Reported-by: ian.odette@eprize.com Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-16iwlwifi: mvm: change TX/RX AM-to-PSM transition time for LP modeAlexander Bondar1-8/+2
Recently in low power (LP) mode FW moved from active to power save mode after TX/RX completion faster than in balanced power mode (BPS). Change AM-to-PSM transition time so that it will be the same as for BPS. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-16iwlwifi: mvm: fix first_antennaEmmanuel Grumbach1-2/+3
first_antenna is supposed to return the first antenna as a 0-based bitmap: ANT_A is BIT(0), ANT_B is BIT(1), etc... Since ffs is 1 based (ffs(BIT(0)) = 1), then we had an off-by-one bug: BIT(ffs(ANT_A)) = BIT(ffs(BIT(0))) = BIT(1) = ANT_B. So what we really want is: BIT(ffs(ANT_A) - 1) = BIT(ffs(BIT(0)) - 1) = BIT(0) = ANT_A. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-16iwlwifi: mvm: remove TODO which has been addressedEmmanuel Grumbach1-5/+0
Chain noise is done in the firmware and Bluetooth Coexistence is implemented now. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-08iwlwifi: dvm: handle FLUSH ampdu actions from mac80211Emmanuel Grumbach4-5/+58
Until now we didn't handle properly the FLUSH ampdu action coming from mac80211. This could result in SCD queue leak: mac80211 would STOP_FLUSH an AMPDU Tx session and remove the station. If we had still packets on the ring, we wouldn't deallocate the SCD queue and wait for it to be empty. The indication of the queue being empty comes from the Tx response flow which relies on the tid_data structure. The problem is that this structure has been cleared when the station has been removed. In order to solve this issue, block in the STOP_FLUSH ampdu_action until the SCD queue is flushed, and only then, let mac80211 move forward to remove the station. iwlagn_txfifo_flush had to be enhanced to allow this. The bug fixed here caused the "txq_id mismatch: 12 0" print. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-08iwlwifi: mvm: remove users of nvm_data->valid_tx_antEmmanuel Grumbach2-19/+19
In commit 332235427a566d8be04b9676a7ac380c8853aa9b "iwlwifi: mvm: take the valid_{rx,tx}_ant from the TLV" I replaced the access to nvm_data->valid_tx_ant to an inline cheking the TLV flags but forgot a few occurences. Fix that. Change-Id: I92daac735b46738d97fe2dbd5934bb177fd0751b Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-on: https://gerrit.rds.intel.com/12308 Tested-by: IWL Jenkins Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-08iwlwifi: print warning on request_module failureJohannes Berg1-2/+7
If request_module() failed then we didn't have the correct opmode module that the driver needs to function, so print a warning in this case to make it more obvious what could be wrong. This still won't catch the case where the module simply doesn't exist because it wasn't compiled though. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: rename iwl_mvm_new_bt_coex_notifEmmanuel Grumbach1-8/+7
It actually handles a BT coex notification, so rename it to be more self explained. Also, this function can always look at mvm->last_bt_notif provided that the latter is updated on time. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: clean up invalid station handlingEmmanuel Grumbach7-10/+11
Using IWL_MVM_STATION_COUNT and IWL_INVALID_STATION together isn't a good idea as they have different values. Always use IWL_MVM_STATION_COUNT for an invalid station in MVM and move the definition of the IWL_INVALID_STATION constant into the DVM driver to avoid making such mistakes again. The one use in the transport code can be hard-coded to -1 instead as the station ID is passed as an integer there. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: add new pci id for 6x35 seriesShuduo Sang1-0/+1
some new thinkpad laptops use intel chip with new pci id need be added lspci -vnn output: Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088f] (rev 24) Subsystem: Intel Corporation Device [8086:5260] Signed-off-by: Shuduo Sang <sangshuduo@gmail.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: beautify code in BT CoexEmmanuel Grumbach1-22/+10
The iterators don't need to know what bt_kill_msk means. All they need to know is if reduced Tx power is enabled on an interface or not. So change the member of the iterator to be a bool. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: Sync FW API time event notification changeIlan Peer2-11/+32
The firmware API changed to differentiate between event and fragment start/end. Change the time-event handling accordingly. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: sleep for at least 10 secondsJohannes Berg2-2/+16
Many platforms have issues processing a wakeup signal while they're still suspending, and will ignore it. Since our device thinks it woke the platform, and the platform ignored the signal, it will sleep without WoWLAN being enabled as the device disables WoWLAN when having woken the platform. Resolve this by making the device wait for 10 seconds after getting the suspend signal before waking up the platform. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: print opmode when firmware is loadedJohannes Berg1-2/+3
Print the sub-driver (opmode, i.e. DVM or MVM) when the firmware is loaded. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: remove redundant iwl_power_get_params()Alexander Bondar2-13/+4
The function just wraps an existing one, remove it. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: change active-to-powersave transition time for BPSAlexander Bondar1-2/+2
The requirement for TX/RX active to powersave transition time for the Balanced Power Save (BPS) scheme changed. Change the driver accordingly and set transition time to 100 msec. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: encapsulate power table command log messageAlexander Bondar1-18/+21
Encapsulate the power table command logging in a separate function to print the same information in both cases. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: set keepalive period regardless of PM stateAlexander Bondar2-3/+11
The firmware starts sending nulldata frames for keepalive immediately after association, regardless of power management state. The driver thus needs to configure keep alive period unconditionally. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: always send power table commandAlexander Bondar1-14/+12
The driver distinguishes between power management and device's power down enablement. Power management enablement depends both on driver's module power parameters and mac80211 decision. The device's power down depends only on driver's module power parameters. Change the driver to always send Power Table command to enable or disable both power management and device's power down. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: Fix active-to-powersave transition time unitsAlexander Bondar1-4/+4
Active to power save mode transition time for TX/RX in the power table command is in microseconds, fix the units in the driver. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: don't disable power management due to P2P deviceAlexander Bondar2-5/+17
Currently power management is supported only when only a single virtual interface is present. The driver verifies number of created interfaces and disables power management when multiple interfaces present. However, this rule does not extend to a P2P device that is handled differently in the firmware. If a P2P device is added power management can remain enabled. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: Rename some power management definitions and methodsAlexander Bondar2-7/+8
Replace SLEEP_OVER_DTIM by SKIP_OVER_DTIM. Add iwl_mvm prefix to a function name. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: downgrade to old power management APIAlexander Bondar2-67/+27
Current available FW still doesn't support new PM API. Therefore, to enable basic power management with the existing firmware, change the API in the driver back to the API used in the current firmware. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: remove BT Coex constraints upon roaming to A bandEmmanuel Grumbach3-17/+52
When we roam to A band, we don't need to constraint WiFi any more since it is operating on a different band. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: implement reduced Tx powerEmmanuel Grumbach5-38/+283
This allows to have better wifi TPT when BT is active under good RSSI conditions. Wifi will have better chance to send Acks and Cts even if BT is active. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-04-04iwlwifi: mvm: add per-interface debugfs with mac_params fileJohannes Berg3-2/+124
Use the per-interface debugfs infrastructure to create a directory and symlink, and add a file containing debug data related to each virtual interface. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-26Merge remote-tracking branch 'wireless-next/master' into iwlwifi-nextJohannes Berg44-236/+646
2013-03-26iwlwifi: mvm: split long debug printEmmanuel Grumbach1-4/+6
This caused issues with tracing as it's longer than the buffer size used there. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-26iwlwifi: mvm: ignore bt_ch_announce module parameterEmmanuel Grumbach1-2/+1
This module parameter isn't and won't be used. So ignore its value and set BT_CH_ANNOUNCE unconditionally. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-26b43: remove warning for LP-PHY with sprom < 8Hauke Mehrtens1-9/+3
The BCM5354 SoC has a build in ieee80211 core rev 13 with a LP-PHY on it. This devices has a sprom version 3 stored in the nvram. This patch removes the warning and uses the opo values from the sprom as mentioned in the specs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26b43: use bcma_chipco_gpio_control()Hauke Mehrtens1-5/+2
With this patch the same registers are written, but this access is now protected by a lock. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26mwifiex: add support to configure VHT for AP modeYogesh Ashok Powar9-0/+129
Currently, default VHT configuration from the firmware is used for the VHT operations. Adding vhtcfg command to configure the firmware based on input received from cfg. Enable VHT for AP mode only when cfg80211_ap_settings has a VHT IE i.e., when ieee80211ac is set to 1 in the hostapd.conf. Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com> Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26rtlwifi: usb: add NET_IP_ALIGN padding to RX skb when neededJussi Kivilinna1-1/+40
Add proper alignment at first packet copy, to avoid extra copies made later in networking stack. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26rtlwifi: usb: defer rx processing to taskletJussi Kivilinna3-15/+51
Move processing of received packets to tasklet from hard-irq context. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26rtlwifi: usb: remove extra skb copy on RX pathJussi Kivilinna1-15/+4
RX path has extra copying of packets, that can be avoided. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26rtlwifi: usb: use usb_alloc_coherent for RX buffersJussi Kivilinna2-47/+68
Use dedicated DMA coherent buffers for RX urbs, to avoid allocation of large skbuffs in hard-irq context and improve performance. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-03-26Merge branch 'for-linville' of ↵John W. Linville17-130/+330
git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx
2013-03-26Merge branch 'for-john' of ↵John W. Linville21-253/+195
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
2013-03-26Merge branch 'for-john' of ↵John W. Linville13-14/+19
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
2013-03-25Merge branch 'wl12xx-next' into for-linvilleLuciano Coelho17-130/+330
2013-03-25wlcore: move handling from hardirq to the irq thread functionLuciano Coelho1-32/+21
Spin locks and completions are expensive in hard IRQ context and cause problems with RT kernels. In RT kernels, both spin locks and completions can schedule(), so we can't use them in hard irq context. Move handling code into the irq thread function to avoid that. Reported-by: Gregoire Gentil <gregoire@alwaysinnovating.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-03-25wlcore: use print_hex_dump_debug()Luciano Coelho1-17/+16
We were printing out all the hex dumps regardless of whether dynamic debugging was enabled or not. Now that print_hex_dump_debug() has been implemented, we can use that instead. Reported-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-03-25wlcore: consider dummy packets when tx queues are emptyArik Nemtsov1-1/+1
Don't ignore dummy packets when our queues are empty. This causes dummy packets never to be sent when traffic is not suspended by FW thresholds, which happens only in high Tx throughput situations. This may hurt Rx performance. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-03-25wlcore: correctly check state before regdomain confArik Nemtsov1-2/+5
The wlcore state was checked without the mutex being taken. This leads to WARN_ONs sometimes if a notification arrives when the driver is on, but the mutex is only taken after it is off. This usually happens if stopping the driver while connected to a network. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-03-25wlcore: AP-mode - recover security seq num for stationsArik Nemtsov3-1/+44
Save the sequence number of the broadcast AP link in the wlvif. For each connected station, save the sequence number in the drv_priv part of ieee80211_sta. Use the saved numbers on recovery/resume, with the obligatory increment on recovery. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-03-25wlcore: free AP global links properly on recoveryArik Nemtsov2-2/+4
Dont use free_sta() on AP global links. It would fail an internal check within the function and various structures within the link struct would not be reset. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>