Johannes Berg wrote:
The mechanism depends on the card revision, but according to
drivers/net/wireless/b43legacy/dma.c it's always via the dma/pio
mechanism for legacy cards:
if (dev->dev->id.revision < 5) {
ring = b43legacy_setup_dmaring(dev, 3, 0, type);
if (!ring)
goto err_destroy_rx0;
dma->rx_ring3 = ring;
}
In the V3 specs, I found
"Transmit Status
When this interrupt is set, the retrieve the TransmitStatus. Note that
on cores with revision < 5, the last DMA controller or PIO queue can
also also get the DMA recieve done interrupt, which also triggers the
TransmitStatus retrieval process. The driver should be prepared to
deal with both interrupts at any time, on any revision. In AP mode,
this interrupt also initiates the sending of powersave responses."
The implication is that the interrupt will only be generated if we use
the last (i.e. #5) DMA controller. As we are only using #3, no
interrupts and handle_irq_status() is dead code.
Larry
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html