|
@@ -759,6 +759,14 @@ static void intel_poll ( struct net_device *netdev ) {
|
759
|
759
|
if ( icr & INTEL_IRQ_LSC )
|
760
|
760
|
intel_check_link ( netdev );
|
761
|
761
|
|
|
762
|
+ /* Check for unexpected interrupts */
|
|
763
|
+ if ( icr & ~( INTEL_IRQ_TXDW | INTEL_IRQ_TXQE | INTEL_IRQ_LSC |
|
|
764
|
+ INTEL_IRQ_RXDMT0 | INTEL_IRQ_RXT0 | INTEL_IRQ_RXO ) ) {
|
|
765
|
+ DBGC ( intel, "INTEL %p unexpected ICR %08x\n", intel, icr );
|
|
766
|
+ /* Report as a TX error */
|
|
767
|
+ netdev_tx_err ( netdev, NULL, -ENOTSUP );
|
|
768
|
+ }
|
|
769
|
+
|
762
|
770
|
/* Refill RX ring */
|
763
|
771
|
intel_refill_rx ( intel );
|
764
|
772
|
}
|