On 01/18/2011 22:56, Peter Jeremy wrote:
On 2011-Jan-18 15:23:16 +0000, John Baldwin<j...@freebsd.org> wrote:
Log:
Remove some always-true comparisons.
...
--- head/sys/dev/cs/if_cs.c Tue Jan 18 14:58:44 2011 (r217537)
+++ head/sys/dev/cs/if_cs.c Tue Jan 18 15:23:16 2011 (r217538)
@@ -364,7 +364,7 @@ cs_cs89x0_probe(device_t dev)
if (!error&& !(sc->flags& CS_NO_IRQ)) {
if (chip_type == CS8900) {
- if (irq>= 0 || irq< 16)
+ if (irq< 16)
irq = cs8900_irq2eeint[irq];
else
irq = 255;
Irrespective of the signedness or otherwise of "irq", I'm fairly
certain that '||' should have been '&&' before.
Yes. The old code was clearly wrong when a bogus IRQ was set.
Thankfully this was kinda hard to do and only affected ISA cards that
didn't have the IRQ setup with the DOS utility. Most of the ones I've
seen have this setup, so it isn't surprising this bug lurked here for
that long.
The new code is correct.
Warner
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"