]> git.baikalelectronics.ru Git - kernel.git/commit
wil6210: relaxed check for BACK start sequence
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Tue, 8 Apr 2014 08:36:18 +0000 (11:36 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 22 Apr 2014 19:06:29 +0000 (15:06 -0400)
commit814148d360aae310f540b5ae4146b260c86eb929
tree876b4e52abc27b480eedb5ac0e70c4e1a9adf44e
parenta707d4f845da5310c34c7858c3c09a2c7f94d5fc
wil6210: relaxed check for BACK start sequence

Sometimes, due to the race between Rx path and WMI_BA_STATUS_EVENTID WMI event,
few frames may be passed to the stack before reorder buffer allocated.
Then, after BACK establishment, it start getting frames with sequence number ahead of
SSN, and it get interpreted as missing frames. Then, BACK mechanism will wait
for missing frames; data traffic will be stopped. In case of interface configured
for DHCP, this data delay causes DHCP failure.

Relax checking for sequence number; use sequence of 1-st frame handled by the buffer
as SSN for this buffer.

This is work-around, real fix should be done when proper BACK mechanism implemented.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/wil6210/rx_reorder.c
drivers/net/wireless/ath/wil6210/wil6210.h