[Soekris] Fix for sis(4) hanging on soekris
Alexander Yurchenko
grange at rt.mipt.ru
Thu Oct 12 16:24:35 UTC 2006
there's a very long standing problem with sis interfaces stop working on
small machines like soekris or wrap boards when there's an external pci
wireless card, ral(4) for example. when a high load on wireless
interface occures the sis interface stops receiving any packets.
someone (don't remember the name, sorry) posted a fix for it. it fixes
the problem for me. the only known issue with this diff is that it
increases interrupt load.
if you have such problem please test this diff. if you don't -- please
to to make sure there's no regression for you. for all case do some
measurements if there's a noticable performance lost.
thanks.
Index: dev/pci/if_sis.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_sis.c,v
retrieving revision 1.73
diff -u -r1.73 if_sis.c
--- dev/pci/if_sis.c 2006/08/10 17:45:16 1.73
+++ dev/pci/if_sis.c 2006/10/12 16:21:49
@@ -1528,6 +1528,9 @@
/* Re-enable interrupts. */
CSR_WRITE_4(sc, SIS_IER, 1);
+ /* Re-enable RX engine. */
+ SIS_SETBIT(sc, SIS_CSR, SIS_CSR_RX_ENABLE);
+
if (!IFQ_IS_EMPTY(&ifp->if_snd))
sis_start(ifp);
--
Alexander Yurchenko
More information about the Soekris-tech
mailing list