Author: yongari
Date: Fri Feb 13 02:08:20 2009
New Revision: 188550
URL: http://svn.freebsd.org/changeset/base/188550

Log:
  Receving VLAN oversized frames raise SIS_ISR_RX_ERR interrupt, so
  make sis_rxeof() handle that too. Previously it used to receive the
  frame and reset controller.
  
  PR:   kern/131414

Modified:
  head/sys/dev/sis/if_sis.c

Modified: head/sys/dev/sis/if_sis.c
==============================================================================
--- head/sys/dev/sis/if_sis.c   Fri Feb 13 01:50:04 2009        (r188549)
+++ head/sys/dev/sis/if_sis.c   Fri Feb 13 02:08:20 2009        (r188550)
@@ -1663,10 +1663,11 @@ sis_intr(void *arg)
                     SIS_ISR_TX_OK | SIS_ISR_TX_IDLE) )
                        sis_txeof(sc);
 
-               if (status & (SIS_ISR_RX_DESC_OK|SIS_ISR_RX_OK|SIS_ISR_RX_IDLE))
+               if (status & (SIS_ISR_RX_DESC_OK | SIS_ISR_RX_OK |
+                   SIS_ISR_RX_ERR | SIS_ISR_RX_IDLE))
                        sis_rxeof(sc);
 
-               if (status & (SIS_ISR_RX_ERR | SIS_ISR_RX_OFLOW))
+               if (status & SIS_ISR_RX_OFLOW)
                        sis_rxeoc(sc);
 
                if (status & (SIS_ISR_RX_IDLE))
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to