PATCH: specialix fix from 2.4 missing in 2.5

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sat, 15 Feb 2003 19:26:18 +0000 (GMT)


diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.61/drivers/char/sx.c linux-2.5.61-ac1/drivers/char/sx.c
--- linux-2.5.61/drivers/char/sx.c 2003-02-15 03:39:30.000000000 +0000
+++ linux-2.5.61-ac1/drivers/char/sx.c 2003-02-14 23:16:53.000000000 +0000
@@ -2233,6 +2233,23 @@
return 0;
}

+ /* Now we're pretty much convinced that there is an SI board here,
+ but to prevent trouble, we'd better double check that we don't
+ have an SI1 board when we're probing for an SI2 board.... */
+
+ write_sx_byte (board, SI2_ISA_ID_BASE,0x10);
+ if ( IS_SI1_BOARD(board)) {
+ /* This should be an SI1 board, which has this
+ location writable... */
+ if (read_sx_byte (board, SI2_ISA_ID_BASE) != 0x10)
+ return 0;
+ } else {
+ /* This should be an SI2 board, which has the bottom
+ 3 bits non-writable... */
+ if (read_sx_byte (board, SI2_ISA_ID_BASE) == 0x10)
+ return 0;
+ }
+
printheader ();

printk (KERN_DEBUG "sx: Found an SI board at %lx\n", board->hw_base);

--
Dim rhyfel mewn ein enw ni
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/