OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2008-2009 Atheros Communications Inc. | 2 * Copyright (c) 2008-2009 Atheros Communications Inc. |
3 * | 3 * |
4 * Permission to use, copy, modify, and/or distribute this software for any | 4 * Permission to use, copy, modify, and/or distribute this software for any |
5 * purpose with or without fee is hereby granted, provided that the above | 5 * purpose with or without fee is hereby granted, provided that the above |
6 * copyright notice and this permission notice appear in all copies. | 6 * copyright notice and this permission notice appear in all copies. |
7 * | 7 * |
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_HP, | 285 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_HP, |
286 sc->rx.rx_edma[ATH9K_RX_QUEUE_HP].rx_fifo_hwsize); | 286 sc->rx.rx_edma[ATH9K_RX_QUEUE_HP].rx_fifo_hwsize); |
287 | 287 |
288 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP, | 288 ath_rx_addbuffer_edma(sc, ATH9K_RX_QUEUE_LP, |
289 sc->rx.rx_edma[ATH9K_RX_QUEUE_LP].rx_fifo_hwsize); | 289 sc->rx.rx_edma[ATH9K_RX_QUEUE_LP].rx_fifo_hwsize); |
290 | 290 |
291 spin_unlock_bh(&sc->rx.rxbuflock); | 291 spin_unlock_bh(&sc->rx.rxbuflock); |
292 | 292 |
293 ath_opmode_init(sc); | 293 ath_opmode_init(sc); |
294 | 294 |
295 » ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_SCANNING)); | 295 » ath9k_hw_startpcureceive(sc->sc_ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); |
296 } | 296 } |
297 | 297 |
298 static void ath_edma_stop_recv(struct ath_softc *sc) | 298 static void ath_edma_stop_recv(struct ath_softc *sc) |
299 { | 299 { |
300 spin_lock_bh(&sc->rx.rxbuflock); | 300 spin_lock_bh(&sc->rx.rxbuflock); |
301 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP); | 301 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_HP); |
302 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP); | 302 ath_rx_remove_buffer(sc, ATH9K_RX_QUEUE_LP); |
303 spin_unlock_bh(&sc->rx.rxbuflock); | 303 spin_unlock_bh(&sc->rx.rxbuflock); |
304 } | 304 } |
305 | 305 |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 if (list_empty(&sc->rx.rxbuf)) | 491 if (list_empty(&sc->rx.rxbuf)) |
492 goto start_recv; | 492 goto start_recv; |
493 | 493 |
494 bf = list_first_entry(&sc->rx.rxbuf, struct ath_buf, list); | 494 bf = list_first_entry(&sc->rx.rxbuf, struct ath_buf, list); |
495 ath9k_hw_putrxbuf(ah, bf->bf_daddr); | 495 ath9k_hw_putrxbuf(ah, bf->bf_daddr); |
496 ath9k_hw_rxena(ah); | 496 ath9k_hw_rxena(ah); |
497 | 497 |
498 start_recv: | 498 start_recv: |
499 spin_unlock_bh(&sc->rx.rxbuflock); | 499 spin_unlock_bh(&sc->rx.rxbuflock); |
500 ath_opmode_init(sc); | 500 ath_opmode_init(sc); |
501 » ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_SCANNING)); | 501 » ath9k_hw_startpcureceive(ah, (sc->sc_flags & SC_OP_OFFCHANNEL)); |
502 | 502 |
503 return 0; | 503 return 0; |
504 } | 504 } |
505 | 505 |
506 bool ath_stoprecv(struct ath_softc *sc) | 506 bool ath_stoprecv(struct ath_softc *sc) |
507 { | 507 { |
508 struct ath_hw *ah = sc->sc_ah; | 508 struct ath_hw *ah = sc->sc_ah; |
509 bool stopped; | 509 bool stopped; |
510 | 510 |
511 ath9k_hw_stoppcurecv(ah); | 511 ath9k_hw_stoppcurecv(ah); |
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1225 } else { | 1225 } else { |
1226 list_move_tail(&bf->list, &sc->rx.rxbuf); | 1226 list_move_tail(&bf->list, &sc->rx.rxbuf); |
1227 ath_rx_buf_link(sc, bf); | 1227 ath_rx_buf_link(sc, bf); |
1228 } | 1228 } |
1229 } while (1); | 1229 } while (1); |
1230 | 1230 |
1231 spin_unlock_bh(&sc->rx.rxbuflock); | 1231 spin_unlock_bh(&sc->rx.rxbuflock); |
1232 | 1232 |
1233 return 0; | 1233 return 0; |
1234 } | 1234 } |
OLD | NEW |