summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/mvm
Commit message (Collapse)AuthorAgeFilesLines
...
* iwlwifi: mvm: adapt the firmware assert log to new firmwareEmmanuel Grumbach2016-03-091-14/+14
| | | | | | | | | | | | | Newer firmware versions put different data in the memory which is read by the driver upon firmware crash. Just change the variable names in the code and the name of the data in the log that we print withouth any functional change. On older firmware, there will be a mismatch between the names that are printed and the content itself, but that's harmless. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: return the cooling state index instead of the budgetChaya Rachel Ivgi2016-03-092-29/+31
| | | | | | | | | | | iwl_mvm_tcool_get_cur_state is the function that returns the cooling state index to the sysfs handler. This function returns mvm->cooling_dev.cur_state but that variable was set to the budget and not the cooling state index. Fix that. Add a missing blank line while at it. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: remove RRM advertisementEmmanuel Grumbach2016-03-091-2/+0
| | | | | | mac80211 advertises this feature for all its drivers. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: don't let NDPs mess the packet trackingEmmanuel Grumbach2016-03-091-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to track the next packet that we will reclaim in order to know when the Tx queues are empty. This is useful when we open or tear down an A-MPDU session which requires to switch queue. The next packet being reclaimed is identified by its WiFi sequence number and this is relevant only when we use QoS. QoS NDPs do have a TID but have a meaningless sequence number. The spec mandates the receiver to ignore the sequence number in this case, allowing the transmitter to put any sequence number. Our implementation leaves it 0. When we reclaim a QoS NDP, we can't update the next_relcaim counter since the sequence number of the QoS NDP itself is invalid. We used to update the next_reclaim based on the sequence number of the QoS NDP which reset it to 1 (0 + 1) and because of this, we never knew when the queue got empty. This had to sad consequence to stuck the A-MPDU state machine in a transient state. To fix this, don't update next_reclaim when we reclaim a QoS NDP. Alesya saw this bug when testing u-APSD. Because the A-MPDU state machine was stuck in EMPTYING_DELBA, we updated mac80211 that we still have frames for that station when it got back to sleep. mac80211 then wrongly set the TIM bit in the beacon and requested to release non-existent frames from the A-MPDU queue. This led to a situation where the client was trying to poll frames but we had no frames to send. Reported-by: Alesya Shapira <alesya.shapira@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: add support for async rx handler without hold the mutexChaya Rachel Ivgi2016-03-091-41/+73
| | | | | | | | | | | When running async rx handler the framework holds the mvm->mutex before starting the async handler, that might cause a deadlock in case the handler calls to ops that lock the mutex as well. Add support for running async rx handler without hold the mutex before activating the handler. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: ROC: cleanup time event info on FW failureMatti Gottlieb2016-03-091-11/+4
| | | | | | | | | | | | | | | | | Currently when the FW sends start/stop aux roc time event notification with an error status, the driver returns an error value, but does not remove the time event, and does not notify the stack above that the time event is over. This causes problems that the stack above assumes we are still in the middle of a time event, and therefore can block different events, such as scanning. On FW failure notification, cleanup the time event parameters and notify the stack above that the time event is over. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: turn off AMSDU bit in QoS control for de-aggregated AMSDUsSara Sharon2016-03-091-0/+12
| | | | | | | | | Our hardware de-aggregates AMSDUs but copies the mac header as it to the de-aggregated MPDUs. We need to turn off the AMSDU bit in the QoS control ourselves. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: add ctdp operations to debugfsChaya Rachel Ivgi2016-03-092-34/+86
| | | | | | | | Add debugfs entries to get the ctdp budget average and to stop ctdp. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: extend time event durationSara Sharon2016-03-072-5/+3
| | | | | | | | | | | | Before authentication, we start a time event during which we wait for a beacon in order to sync our timers. If we didn't hear the beacon during this time - we abandon the connection. However, in congested environment, it was observed we might not hear beacons in that time slot. Extend the time event to give the connection a better chance. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: set the correct amsdu enum valuesSara Sharon2016-03-071-3/+2
| | | | | | | The amsdu enum values are off by 1 bit. Fix it. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: fix unregistration of thermal in some error flowsChaya Rachel Ivgi2016-03-071-3/+3
| | | | | | | | | | | The call to iwl_mvm_thermal_initialize() was too early in the function. Unregister will be performed when goto out_unregister is called, but as the code was - out_free may be called and leave without unregistering from thermal. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: refactor the code that reads the MAC address from the NVMSara Sharon2016-03-071-9/+2
| | | | | | | | | | It makes it slightly easier to follow. Pass the pointer to the transport which allows to read WFMP_MAC_ADDR_X register only when needed and to use IWL_ERR instead of the less commonly used IWL_ERR_DEV logger macro. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* iwlwifi: mvm: avoid panics with thermal device usageEmmanuel Grumbach2016-03-062-27/+31
| | | | | | | | | | | | | | | | Thermal zone device registration can fail, and in this case we don't want to remove WiFi functionality. This is why the thermal zone registration function is void, and the flows continue even if the thermal zone device registration failed. Same applies for the cooling device. This means that we at least need to remember that the thermal zone device didn't register properly and take the minimal precautions to avoid panic'ing when we access it. This was missing. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* Merge branch 'fixes' into nextEmmanuel Grumbach2016-03-024-1/+17
|\ | | | | | | Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * iwlwifi: mvm: Fix paging memory leakMatti Gottlieb2016-02-233-1/+8
| | | | | | | | | | | | | | | | | | | | If the opmode is stopped and started again we did not free the paging buffers. Fix that. In addition when freeing the firmware's paging download buffer, set the pointer to NULL. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * iwlwifi: mvm: inc pending frames counter also when txing non-staLiad Kaufman2016-02-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until this patch, when TXing non-sta the pending_frames counter wasn't increased, but it WAS decreased in iwl_mvm_rx_tx_cmd_single(), what makes it negative in certain conditions. This in turn caused much trouble when we need to remove the station since we won't be waiting forever until pending_frames gets 0. In certain cases, we were exhausting the station table even in BSS mode, because we had a lot of stale stations. Increase the counter also in iwl_mvm_tx_skb_non_sta() after a successful TX to avoid this outcome. CC: <stable@vger.kernel.org> [3.18+] Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: support sw queue start/stop from mvmLiad Kaufman2016-03-022-14/+28
| | | | | | | | | | | | | | | | Add a wrapper function to allow stopping SW queues from MVM as well. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: take the transport ref back when leavingLuca Coelho2016-03-021-0/+7
| | | | | | | | | | | | | | | | | | If d0i3 is supported, we have released the initial transport reference in iwl_op_mode_mvm_start(), so we should take it back in iwl_op_mode_mvm_stop() to keep it balanced. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: only release the trans ref if d0i3 is supported in fwLuca Coelho2016-03-021-2/+4
| | | | | | | | | | | | | | | | | | If d0i3 is not supported by the firmware (or if it's disabled via module parameters) we shouldn't release the initial transport reference, so that we won't enter runtime suspend. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: disable DQA supportLiad Kaufman2016-03-021-2/+3
| | | | | | | | | | | | | | | | Do not allow entrance into DQA flows until feature is completely ready and merged. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: update ucode status before stopping deviceChaya Rachel Ivgi2016-03-025-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | Leaving ucode_loaded to true after stop_device() has been called is a recipe for problems. Flows that are not sync'ed with the driver life cycle (like debugfs hooks and thermal hooks) must check that the firmware is loaded before they interact with it. Therefore we need to keep this variable updated with the real status of the firmware. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: support ucode with d0 unified image - regular and usnifferGolan Ben-Ami2016-02-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Till today, the ucode consisted of two d0 images - regular, in which the usniffer wasn't enabled, and usniffer, in which the usniffer logs were enabled. Lately, the two images were unified, so there is only one d0 image, in which the usniffer logs are enabled. Add new TLV capability for supporting the consolidated images (set 2, bit 13). Signed-off-by: Golan Ben-Ami <golan.ben.ami@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: Disable beacon storing in D3 when WOWLAN configuredMatti Gottlieb2016-02-281-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when entering D3 with WOWLAN configured, we enable in the configuration flags beacon storing, and do not disable beacon filtering, and do not wake up from a magic packet. Having both enabled is wrong (should not have both enabled), and causes problems in the RX queues in the FW, causing the FW not to recognize the magic packet when it comes. Disable beacon storing in wowlan configuration. Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: kill iwl_mvm_enable_agg_txqEmmanuel Grumbach2016-02-272-21/+11
| | | | | | | | | | | | | | iwl_mvm_enable_agg_txq has only one user. Kill it and adapt the call site. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: take care of padded packetsSara Sharon2016-02-271-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | To ensure that the SNAP/TCP/IP headers are DW aligned, the firmware may add 2-byte pad at the end of the mac header - after the IV, before the SNAP. In that case the mpdu descriptor pad bit will be turned on. Driver should take it into consideration, and remove the padding before passing the packet to mac80211. Do that. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: Send power command on BSS_CHANGED_BEACON_INFO if neededAvri Altman2016-02-271-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beacon abort (ba) is set while sending power command, but only after at least one beacon_filter command was successfully sent. If we heard a beacon before starting association, this order is maintained and ba is properly set. However, if the first beacon is received after association, we send the power command upon association, configure the beacon filtering when the first beacon arrives, and in that case, beacon abort is not set. So identify this, and send a power command post the beacon_filter command if needed. Signed-off-by: Avri Altman <avri.altman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: forbid U-APSD for P2P Client if the firmware doesn't support itAvri Altman2016-02-271-0/+5
| | | | | | | | | | | | | | | | | | Older versions of the firmware don't support U-APSD for P2P Client. Forbid U-APSD for P2P Client when an old firmware is being used. Signed-off-by: Avri Altman <avri.altman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: Set global RRM capabilityBeni Lev2016-02-271-0/+2
| | | | | | | | | | | | | | | | | | Allow to publish RRM capabilities without the need to support a minimal capability set. Since some RRM features(e.g. neighbor report) are fw independent, set this capability unconditionally. Signed-off-by: Beni Lev <beni.lev@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: various trivial cleanupsEmmanuel Grumbach2016-02-271-3/+0
| | | | | | | | | | | | | | | | * Remove uneeded includes: iwl-csr.h and devcoredump aren't used in mac80211.c. * Remove uneeded empty line Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: support VHT MU-MIMO notificationSara Sharon2016-02-274-2/+49
| | | | | | | | | | | | | | | | | | | | | | | | When the device is in d0i3/d3 we will not receive the VHT MU-MIMO group id management frame. Instead, firmware will notify us upon exit on the current status and we can in turn update mac80211. Support this notification. While at it, also check as a precaution that the vif is indeed the VHT MU-MIMO owner before updating the firmware. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: remove unused field in iwl_mvm_tid_dataEmmanuel Grumbach2016-02-271-3/+0
| | | | | | | | | | | | | | | | | | Commit 69c7fda40921c125eeeef6a827f6270ac6aa1baa removed the users of iwl_mvm_tid_data.reduced_tpc. Due to a conflict, I forgot to commit the hunk that removed the field itself. Do this know. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: add RSS queues notification infrastructureSara Sharon2016-02-275-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In multi rx queue HW, without execessive locking, there is no sync between the ctrl path (default queue) and the rest of the rx queues. This might cause issues on certain situations. For example, in case a delBA was processed on a default queue but out of order packets still wait for processing on the other queue. The solution is to introduce internal messaging between the CTRL path and the other rx queues. The driver will send a message to the firmware, which will echo it to all the requested queues. The message will be in order inside the queue. This way we can avoid CTRL path and RSS queues races. Add support for this messaging mechanism. As the firmware is agnostic to the data sent, add internal representation of the data as well. Although currently only delBA flow will use it, the internal representation will enable generic use of this infrastructure for future uses. Next patch will utilize this messaging mechanism for the reorder buffer delBA flow. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: add duplicate packet detection per rx queueSara Sharon2016-02-273-1/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | Next hardware will direct TCP/UDP streams to different cores. Packets belonging to the same stream will be directed to the same core. The result is that duplicates will be always directed to the same rx queue were the first packet was received. This enabled parallelizing the duplicate packet detection across the different cores, without sharing data between the rx queues. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: support filtered frames notificationSara Sharon2016-02-274-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | During d0i3 frames might be filtered by the FW and this may cause reordering buffer a delay - as the frames will not be received and reorder will time out. Introduce an API function to receive notification of filtered frames and pass the information to the mac80211. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: update rx_status with mactime flagSara Sharon2016-02-273-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When forming IBSS, mac80211 scans in order to find an already existing cell to join. In case the scan does not find any existing cell a new IBSS cell is formed. When receiving the beacons of another IBSS cell we should merge if the other IBSS cell's TSF is higher than ours. However, currently iwlmvm does not set any timestamp flag in rx_status so there is no valid rx timestamp to compare the beacon's TSF to. The reason for that is that TSF as indicated by the firmware is at INA time, but up till now mac80211 expected the TSF at the beginning or end of the MPDU. Set the flag to the newly added RX_FLAG_MACTIME_PLCP_START flag. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: support tracing wide commandsSara Sharon2016-02-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | Current iwlwifi_trace_dev_rx prints only the cmd without the group, which might be misleading. Change it to print the wide id. While at it add the DATA_PATH group and sub commands to the trace of the command names, sine it is missing due to patches submitted in parallel. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: don't send an A-MSDU that is larger than the TXFEmmanuel Grumbach2016-02-271-1/+14
| | | | | | | | | | | | | | | | | | The A-MSDU must be smaller than the Transmit FIFO in the device. Since the size of the TXF can change depending on the device / firmware compilation mode, take the size of the FIFO dynamically from the what the firmware tells us. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: don't enable A-MSDU when the rates are too lowEmmanuel Grumbach2016-02-273-3/+26
| | | | | | | | | | | | | | Allow A-MSDU only when we are not downscaling and the initial MCS is at least 5. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: allow to limit the A-MSDU from debugfsEmmanuel Grumbach2016-02-273-0/+25
| | | | | | | | | | | | | | | | in order to be able to tune the size of the desired A-MSDU based on link condition, add a knob to modify the length of the A-MSDU. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: add Tx A-MSDU inside A-MPDUEmmanuel Grumbach2016-02-274-12/+38
| | | | | | | | | | | | If the peer allows, we can have A-MSDU inside A-MDPU. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: send large SKBs to the transportEmmanuel Grumbach2016-02-271-8/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that PCIe knows how to create A-MSDUs, use this capability and prepare SKBs that are large enough to build an A-MSDU. Advertise TSO support towards the network stack and segment the packet with gso_size set to be the maximal A-MSDU length (after having taken the headers to be added into account) to make sure that the skb that is passed down to the transport are not longer than the maximal A-MSDU allowed. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: update firmware of VHT MU-MIMO groups status on restartSara Sharon2016-02-272-0/+46
| | | | | | | | | | | | | | | | | | | | The firmware handles the VHT MU-MIMO group data on its own. However, on HW restart (and future sniffer mode) the driver shall update the firmware on the VHT MU-MIMO group membership status. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: rs: fix a theoretical access to uninitialized array elementsEyal Shapira2016-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | Klocwork is unhappy as ht_vht_rates might be accessed with rate->index being set to values between 0 and 3 which will lead to accessing uninitialized array elements. Effectively this doesn't happen as in HT/VHT we're not using these rate indices. Still fix this. Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: handle pass all scan reportingLuca Coelho2016-02-273-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The firmware doesn't send match found notifications when no matchsets are passed. This makes sense because if there are no matchsets, nothing can be matched. But the nl80211 API should report when there are results available, even if no matchsets were passed. To handle this, we can use the firmware's ITERATION_COMPLETE reporting, which will send us notifications every time it completed a scheduled scan iteration. Then we can set a flag when we received beacons and use that to report that results are available. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | Merge tag 'iwlwifi-for-kalle-2016-02-15' into HEADEmmanuel Grumbach2016-02-274-29/+60
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | These are a few fixes for the current cycle. 3 out of the 5 patches fix a bugzilla. * fix a race that users reported when we try to load the firmware and the hardware rfkill interrupt triggers at the same time. * Luca fixes a very visible bug in scheduled scan: our firmware doesn't support scheduled scan with no profile configured and the supplicant sometimes requests such scheduled scans. * build system fix * firmware name update for 8265 * typo fix in return value
| * iwlwifi: mvm: don't allow sched scans without matches to be startedLuca Coelho2016-02-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The firmware can perform a scheduled scan with not matchsets passed, but it can't send notification that results were found. Since the userspace then cannot know when we got new results and the firmware wouldn't trigger a wake in case we are sleeping, it's better not to allow scans without matchsets. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=110831 Cc: <stable@vger.kernel.org> [3.17+] Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
| * iwlwifi: mvm: rs: fix TPC statistics handlingGregory Greenman2016-01-263-29/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FW behaviour changed and now updates driver about the used TPC reduction in the following cases: 1. In tx response, which is used mostly for a single frame case 2. In BA notification When tx aggregation fails with the initial rate, FW will send to the driver BA notification and will try to transmit with the next rate, but this time without tx power reduction. Thus, in case of a failure with the initial rate, driver will get two BA notifications, the first one with reduced tx power as in the LQ command and the second one with 0 power reduction. This patch adapts the TPC statistics according to the description above: 1. Use BA notifications instead of Tx response 2. For TPC only, drop the optimization which considers empty BA as one MPDU. The reason is that with TPC we want to recover very quickly from a bad power reduction and, therefore we'd like the success ratio to get an immediate hit when failing to get a BA, so we'd switch back to a lower or zero power reduction Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: fix RSS key sizingSara Sharon2016-02-273-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | The initialization and copying of the RSS secret key should not use ARRAY_SIZE as we need to initialize a dword array, and not a byte array. Fix also the hook maximum write size to allow writing a longer table - up to full indirection table size. Fixes: 43413a975d06("iwlwifi: mvm: support rss queues configuration command") Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: set the correct descriptor size for tracingSara Sharon2016-02-271-1/+3
| | | | | | | | | | | | | | | | The 9000 series uses a diffrent sized descriptor. Update the relevant tracing field. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
* | iwlwifi: mvm: add registration to cooling deviceChaya Rachel Ivgi2016-02-275-0/+198
| | | | | | | | | | | | | | | | | | | | | | | | Register cooling device in order to have the Thermal Manager handle the device's power budget according to the sent notifications. The interface adds a new thermal cooling device to /sys/class/thermal/ folder. Signed-off-by: Chaya Rachel Ivgi <chaya.rachel.ivgi@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
OpenPOWER on IntegriCloud