void ath9k_host_rx_init(struct ath9k_htc_priv *priv) { ath9k_hw_rxena(priv->ah); ath9k_htc_opmode_init(priv); ath9k_hw_startpcureceive(priv->ah, (priv->op_flags & OP_SCANNING)); priv->rx.last_rssi = ATH_RSSI_DUMMY_MARKER; }
int arn_startrecv(struct arn_softc *sc) { struct ath_hal *ah = sc->sc_ah; struct ath_buf *bf; /* clean up rx link firstly */ sc->sc_rxlink = NULL; /* rx descriptor link set up */ bf = list_head(&sc->sc_rxbuf_list); while (bf != NULL) { arn_rx_buf_link(sc, bf); bf = list_next(&sc->sc_rxbuf_list, bf); } bf = list_head(&sc->sc_rxbuf_list); ath9k_hw_putrxbuf(ah, bf->bf_daddr); ath9k_hw_rxena(ah); arn_opmode_init(sc); ath9k_hw_startpcureceive(ah); return (0); }