diff options
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/recv.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/recv.c b/drivers/net/wireless/ath/ath9k/recv.c index e581b1f6c40c..b3c9baf855c4 100644 --- a/drivers/net/wireless/ath/ath9k/recv.c +++ b/drivers/net/wireless/ath/ath9k/recv.c | |||
| @@ -297,11 +297,11 @@ static void ath_edma_start_recv(struct ath_softc *sc) | |||
| 297 | ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP, | 297 | ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP, |
| 298 | sc->rx.rx_edma[ATH9K_RX_QUEUE_LP].rx_fifo_hwsize); | 298 | sc->rx.rx_edma[ATH9K_RX_QUEUE_LP].rx_fifo_hwsize); |
| 299 | 299 | ||
| 300 | spin_unlock_bh(&sc->rx.rxbuflock); | ||
| 301 | |||
| 302 | ath_opmode_init(sc); | 300 | ath_opmode_init(sc); |
| 303 | 301 | ||
| 304 | ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); | 302 | ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); |
| 303 | |||
| 304 | spin_unlock_bh(&sc->rx.rxbuflock); | ||
| 305 | } | 305 | } |
| 306 | 306 | ||
| 307 | static void ath_edma_stop_recv(struct ath_softc *sc) | 307 | static void ath_edma_stop_recv(struct ath_softc *sc) |
| @@ -504,10 +504,11 @@ int ath_startrecv(struct ath_softc *sc) | |||
| 504 | ath9k_hw_rxena(ah); | 504 | ath9k_hw_rxena(ah); |
| 505 | 505 | ||
| 506 | start_recv: | 506 | start_recv: |
| 507 | spin_unlock_bh(&sc->rx.rxbuflock); | ||
| 508 | ath_opmode_init(sc); | 507 | ath_opmode_init(sc); |
| 509 | ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); | 508 | ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); |
| 510 | 509 | ||
| 510 | spin_unlock_bh(&sc->rx.rxbuflock); | ||
| 511 | |||
| 511 | return 0; | 512 | return 0; |
| 512 | } | 513 | } |
| 513 | 514 | ||
