OSDN Git Service

wil6210: fix report of rx packet checksum in edma mode
authorAhmad Masri <amasri@codeaurora.org>
Thu, 28 Feb 2019 09:34:59 +0000 (11:34 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 3 Apr 2019 12:44:38 +0000 (15:44 +0300)
commit4bf019865cf327df2fed403d35bb36ecb6617e8a
tree7f325f59b9f3c946b53e8431d806012022115dd9
parent29ca376066df05760a7d7038a95aba1c3b968e9e
wil6210: fix report of rx packet checksum in edma mode

Update the rx packet checksum of received packet according to edma
HW spec:

No need to calculate checksum in the following cases:
L4_status=0 and L3_status=0 - No L3 and no L4 known protocols found
L4_status=0 and L3_status=1 - L3 was found, and checksum check passed.
No known L4 protocol was found.
L4_status=1 - L4 was found, and checksum check passed.

Recalculate checksum in the following cases:
L4_status=3 and L3_status=1 - It means that L3 protocol was found,
and checksum passed, but L4 checksum failed.
L4_status=3 and L3_status=2 - Both L3 and L4 checksum check failed.

Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/txrx_edma.c
drivers/net/wireless/ath/wil6210/txrx_edma.h