summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2009-02-13 02:08:20 +0000
committeryongari <yongari@FreeBSD.org>2009-02-13 02:08:20 +0000
commita018b9ee88c6503bd4e5e0622babb64a7d658cba (patch)
treec7a9be90c792fecabc234c7291f13174baad1866 /sys
parentd59038e2abac98116b036b57ee2fc801fa698247 (diff)
downloadFreeBSD-src-a018b9ee88c6503bd4e5e0622babb64a7d658cba.zip
FreeBSD-src-a018b9ee88c6503bd4e5e0622babb64a7d658cba.tar.gz
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
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/sis/if_sis.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/sis/if_sis.c b/sys/dev/sis/if_sis.c
index fd6e201..78b6149 100644
--- a/sys/dev/sis/if_sis.c
+++ b/sys/dev/sis/if_sis.c
@@ -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))
OpenPOWER on IntegriCloud