iwlwifi: mvm: improve latency when there is a reorder timeout
authorSara Sharon <sara.sharon@intel.com>
Tue, 17 Oct 2017 09:06:52 +0000 (12:06 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 3 Nov 2017 09:56:08 +0000 (11:56 +0200)
commit14a1f85bdc27283898358af09ee506d7f3344d3c
treedf543e07d4ea9d2a9587bf68fe1b5feb3c91b81d
parent82d2b9a62699f3d6a61323774c41cebe920e5dc5
iwlwifi: mvm: improve latency when there is a reorder timeout

When there is a reorder timeout, we may get to a situation
where we have the timeout latency for all the next 64 frames.
This happens since NSSN is behind for a while, and the driver
won't release the frames, since it is not allowed by NSSN.
As a result the frame is stored in the reorder buffer although
there is no hole, and released 100 ms later.
Add a direct comparison to the reorder buffer head, and release
immediately if possible.

For example:
Frame 0 is missed. We receive frame 1, and store it in the buffer.
After 100 ms, frame 1 is released and reorder buffer head is 2.
We then receive frame 2, with NSSN 0, and store it instead of
releasing it.

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