iwlwifi: mvm: ignore stale TDLS ch-switch responses
authorArik Nemtsov <arik@wizery.com>
Thu, 22 Jan 2015 12:24:44 +0000 (14:24 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 1 Feb 2015 13:57:22 +0000 (15:57 +0200)
commitb9dccdb33c4dc86922d025d02e91715ad9510732
treefaf8f78fe4483cc81888f0a50029ff5b6ad8db6c
parent5cb1270143668fa72007b52a8be6b4aa2c182809
iwlwifi: mvm: ignore stale TDLS ch-switch responses

During out-of-channel activities (e.g. scan) TDLS ch-switch responses from
a peer are kept in FW. These packets arrive only after the out-of-channel
activity is complete, which can be in the order of several seconds.

Since TDLS ch-sw has no dialog-token-like mechanism for distinguishing
sessions, use the GP2 time of the incoming ch-switch response to discern
validity. For this purpose record the GP2 time of an outgoing TDLS ch-sw
request and compare to the Rx time of the ch-sw response.
The methods works in practice since the GP2 time of FW-deferred Rx is
accurate and contains the real Rx timestamp.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/mvm.h
drivers/net/wireless/iwlwifi/mvm/tdls.c