Beispiel #1
0
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);
}