diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_mac.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_mac.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c index 8ff0b88a29b9..1aadc4757e67 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c | |||
@@ -531,17 +531,18 @@ int ath9k_hw_process_rxdesc_edma(struct ath_hw *ah, struct ath_rx_status *rxs, | |||
531 | 531 | ||
532 | /* TODO: byte swap on big endian for ar9300_10 */ | 532 | /* TODO: byte swap on big endian for ar9300_10 */ |
533 | 533 | ||
534 | if ((rxsp->status11 & AR_RxDone) == 0) | 534 | if (!rxs) { |
535 | return -EINPROGRESS; | 535 | if ((rxsp->status11 & AR_RxDone) == 0) |
536 | return -EINPROGRESS; | ||
536 | 537 | ||
537 | if (MS(rxsp->ds_info, AR_DescId) != 0x168c) | 538 | if (MS(rxsp->ds_info, AR_DescId) != 0x168c) |
538 | return -EINVAL; | 539 | return -EINVAL; |
539 | 540 | ||
540 | if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) | 541 | if ((rxsp->ds_info & (AR_TxRxDesc | AR_CtrlStat)) != 0) |
541 | return -EINPROGRESS; | 542 | return -EINPROGRESS; |
542 | 543 | ||
543 | if (!rxs) | ||
544 | return 0; | 544 | return 0; |
545 | } | ||
545 | 546 | ||
546 | rxs->rs_status = 0; | 547 | rxs->rs_status = 0; |
547 | rxs->rs_flags = 0; | 548 | rxs->rs_flags = 0; |