atheros 无线驱动接收流程如下:
-
request_irq(pdev->irq, ath_isr, IRQF_SHARED, “ath9k”, sc);
-
irqreturn_t ath_isr(int irq, void *dev)
-
tasklet_schedule(&sc->intr_tq);
-
void ath9k_tasklet(unsigned long data)
-
int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
-
ieee80211_prepare_and_rx_handle
-
ieee80211_invoke_fast_rx
-
netif_receive_skb