aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/recv.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c
index 9c166f3804ab..fe73fc50082a 100644
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
@@ -268,6 +268,7 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
268 bf->bf_buf_addr))) { 268 bf->bf_buf_addr))) {
269 dev_kfree_skb_any(skb); 269 dev_kfree_skb_any(skb);
270 bf->bf_mpdu = NULL; 270 bf->bf_mpdu = NULL;
271 bf->bf_buf_addr = 0;
271 ath_print(common, ATH_DBG_FATAL, 272 ath_print(common, ATH_DBG_FATAL,
272 "dma_mapping_error() on RX init\n"); 273 "dma_mapping_error() on RX init\n");
273 error = -ENOMEM; 274 error = -ENOMEM;
@@ -358,12 +359,12 @@ int ath_rx_init(struct ath_softc *sc, int nbufs)
358 bf->bf_buf_addr))) { 359 bf->bf_buf_addr))) {
359 dev_kfree_skb_any(skb); 360 dev_kfree_skb_any(skb);
360 bf->bf_mpdu = NULL; 361 bf->bf_mpdu = NULL;
362 bf->bf_buf_addr = 0;
361 ath_print(common, ATH_DBG_FATAL, 363 ath_print(common, ATH_DBG_FATAL,
362 "dma_mapping_error() on RX init\n"); 364 "dma_mapping_error() on RX init\n");
363 error = -ENOMEM; 365 error = -ENOMEM;
364 goto err; 366 goto err;
365 } 367 }
366 bf->bf_dmacontext = bf->bf_buf_addr;
367 } 368 }
368 sc->rx.rxlink = NULL; 369 sc->rx.rxlink = NULL;
369 } 370 }
@@ -393,6 +394,8 @@ void ath_rx_cleanup(struct ath_softc *sc)
393 common->rx_bufsize, 394 common->rx_bufsize,
394 DMA_FROM_DEVICE); 395 DMA_FROM_DEVICE);
395 dev_kfree_skb(skb); 396 dev_kfree_skb(skb);
397 bf->bf_buf_addr = 0;
398 bf->bf_mpdu = NULL;
396 } 399 }
397 } 400 }
398 401
@@ -430,8 +433,7 @@ u32 ath_calcrxfilter(struct ath_softc *sc)
430 | ATH9K_RX_FILTER_UCAST | ATH9K_RX_FILTER_BCAST 433 | ATH9K_RX_FILTER_UCAST | ATH9K_RX_FILTER_BCAST
431 | ATH9K_RX_FILTER_MCAST; 434 | ATH9K_RX_FILTER_MCAST;
432 435
433 /* If not a STA, enable processing of Probe Requests */ 436 if (sc->rx.rxfilter & FIF_PROBE_REQ)
434 if (sc->sc_ah->opmode != NL80211_IFTYPE_STATION)
435 rfilt |= ATH9K_RX_FILTER_PROBEREQ; 437 rfilt |= ATH9K_RX_FILTER_PROBEREQ;
436 438
437 /* 439 /*
@@ -1735,12 +1737,12 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
1735 bf->bf_buf_addr))) { 1737 bf->bf_buf_addr))) {
1736 dev_kfree_skb_any(requeue_skb); 1738 dev_kfree_skb_any(requeue_skb);
1737 bf->bf_mpdu = NULL; 1739 bf->bf_mpdu = NULL;
1740 bf->bf_buf_addr = 0;
1738 ath_print(common, ATH_DBG_FATAL, 1741 ath_print(common, ATH_DBG_FATAL,
1739 "dma_mapping_error() on RX\n"); 1742 "dma_mapping_error() on RX\n");
1740 ath_rx_send_to_mac80211(hw, sc, skb, rxs); 1743 ath_rx_send_to_mac80211(hw, sc, skb, rxs);
1741 break; 1744 break;
1742 } 1745 }
1743 bf->bf_dmacontext = bf->bf_buf_addr;
1744 1746
1745 /* 1747 /*
1746 * change the default rx antenna if rx diversity chooses the 1748 * change the default rx antenna if rx diversity chooses the