wl1271: Checking of rx descriptor status fixed

Fixed checking of status of the received packet. On wl1251 status is in the
flags field of the descriptor, on wl1271 there is a separate status field.

Signed-off-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Teemu Paasikivi 2009-10-13 12:47:52 +03:00 committed by John W. Linville
parent a410264553
commit 5d07b668f2
1 changed files with 3 additions and 8 deletions

View File

@ -142,15 +142,10 @@ static void wl1271_rx_status(struct wl1271 *wl,
if (desc->flags & WL1271_RX_DESC_ENCRYPT_MASK) {
status->flag |= RX_FLAG_IV_STRIPPED | RX_FLAG_MMIC_STRIPPED;
if (likely(!(desc->flags & WL1271_RX_DESC_DECRYPT_FAIL)))
if (likely(!(desc->status & WL1271_RX_DESC_DECRYPT_FAIL)))
status->flag |= RX_FLAG_DECRYPTED;
/* FIXME: Flag should be also set when using 5 GHz band.
* At the moment chip reports MIC failed on all packets,
* so flag is silently discarded.
*/
if (unlikely(desc->flags & WL1271_RX_DESC_MIC_FAIL))
if (status->band != IEEE80211_BAND_5GHZ)
status->flag |= RX_FLAG_MMIC_ERROR;
if (unlikely(desc->status & WL1271_RX_DESC_MIC_FAIL))
status->flag |= RX_FLAG_MMIC_ERROR;
}
}