iwlwifi: mvm: ROC: Extend the ROC max delay duration & limit ROC duration
authorMatti Gottlieb <matti.gottlieb@intel.com>
Sun, 22 Nov 2015 08:08:56 +0000 (10:08 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 1 Dec 2015 19:17:58 +0000 (21:17 +0200)
commitdc28e12f212500191fbc3c3ede411e80e2f30a10
tree56ef1cb6498d373434099136f3588ce45dec9b75
parent13555e8ba2f43094d42e0159a8be40e7a5f690d6
iwlwifi: mvm: ROC: Extend the ROC max delay duration & limit ROC duration

When associated to an AP and a ROC event with a long duration is scheduled
the FW may have a hard time scheduling a consecutive time event, since it
has to remain on the connection channel to hear the AP's DTIM.
In addition, when associated and a ROC is requested with a duration
greater than the DTIM interval, the FW will not be able to schedule
the ROC event, since it needs to wake up for the DTIM.

Increasing the "max delay" duration to the DTIM period will allow the FW to
wait until after the DTIM and then schedule the ROC time event.
Limiting the ROC to be less than the DTIM interval will assure that the
time event will be scheduled for at least part of the time (instead of
automatically failing)

Extend the ROC max delay duration to min(dtim_interval * 3, 600TU),
and limit the duration to be less than the DTIM interval.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c