iwlwifi: mvm: do not trust NSSN for amsdu sub-frames
authorSara Sharon <sara.sharon@intel.com>
Sun, 17 Apr 2016 11:15:17 +0000 (14:15 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 1 Jul 2016 13:55:50 +0000 (16:55 +0300)
commite7e14089e9a8e84fd8e2885ae9cacba2c30a3403
tree990a0070540458be259080244eb1acf9728c0260
parent4bdd4dfe7a893594a75ca324057f7010b1762bd2
iwlwifi: mvm: do not trust NSSN for amsdu sub-frames

We cannot trust NSSN for AMSDU sub-frames that are not the
last.
The reason is that NSSN advances on the first sub-frame,
and may cause the reorder buffer to advance before all the
sub-frames arrive.
Example:
Reorder buffer contains SN 0 & 2.
We receive AMSDU with SN 1 and NSSN for first sub frame 3.
The result us that driver releases SN 0,1, 2.
When sub-frame 1 arrives - reorder buffer is already ahead and
it will be dropped.
If the last sub-frame is not on this queue - we will get frame
release notification with up to date NSSN.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c