]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
On some laptops, under very high loads, the socket event register read
authorimp <imp@FreeBSD.org>
Thu, 30 Mar 2006 04:25:45 +0000 (04:25 +0000)
committerimp <imp@FreeBSD.org>
Thu, 30 Mar 2006 04:25:45 +0000 (04:25 +0000)
commit54a478ceca292cc147449c66835d59e0d936ceb6
treed8dafdbd037d524e9f8733af8f937938cce099e6
parente846fbb446d8ecc179dacd246d2071938de96b57
On some laptops, under very high loads, the socket event register read
in the ISR doesn't read the actual socket event register, but instead
reads garbage (usually 0xffffffff, but other times other things).
This totally violates the PCI spec, but happens rarely enough that a
workaround is in order.  This adds one test when we have a real
interrupt to service (which is very rare), and doesn't affect the
usualy 'nothing to see here' case at all.

Problem reported by many, but sam@ gave me this workaround after
diagnosing the problem.
sys/dev/pccbb/pccbb.c