]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Do not disable interrupt without knowing whether the raised
authoryongari <yongari@FreeBSD.org>
Fri, 9 Dec 2011 18:17:02 +0000 (18:17 +0000)
committeryongari <yongari@FreeBSD.org>
Fri, 9 Dec 2011 18:17:02 +0000 (18:17 +0000)
commit849cc37bd7c0247dec2a67b45302c71fc45a9965
treeac8edd0f296e1ceac20917795410a1bd9c30d530
parentb00203c514ba652db03e1509ae47fbdc75afd629
Do not disable interrupt without knowing whether the raised
interrupt is ours.  Note, interrupts are automatically ACKed when
the status register is read.
Add RX/TX DMA error to interrupt handler and do full controller
reset if driver happen to encounter these errors.  There is no way
to recover from these DMA errors without controller reset.
Rename local variable name intrs with status to enhance
readability.

While I'm here, rename ET_INTR_TXEOF and ET_INTR_RXEOF to
ET_INTR_TXDMA and ET_INTR_RXDMA respectively.  These interrupts
indicate that a frame is successfully DMAed to controller's
internal FIFO and they have nothing to do with EOF(end of frame).
Driver does not need to wait actual end of TX/RX of a frame(e.g.
no need to wait the end signal of TX which is generated when a
frame in TX FIFO is emptied by MAC).  Previous names were somewhat
confusing.
sys/dev/et/if_et.c
sys/dev/et/if_etreg.h