From: Wagner_Volanin I have an old Genius Colorpage-SP2 SCSI scanner. It is shipped with a MS-PNR 8bit ISA non-pnp proprietary SCSI card from Microtek. Although its chipset is a NCR53c400a, it wouldn't work with the appropriate driver, always accusing timeout, whatever settings I passed to it. Today I messed a little with the NCR5380.c file in drivers/scsi which is included by the g_NCR5380 driver and I couldn't understand one thing: Why the function NCR5380_poll_politely() returned the value 'r' on success if this value should be '0' case everything went ok... So I changed "return r;" to "return 0;" and after that my scanner worked fine, and was easily detected by SANE, without a single error message. :) I have not the time to delve into the problem further, but I wanted to report this. I couldn't find any counter-effects caused by changing these return values. (Was acked by Alan) 25-akpm/drivers/scsi/NCR5380.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/scsi/NCR5380.c~NCR5380-timeout-fix drivers/scsi/NCR5380.c --- 25/drivers/scsi/NCR5380.c~NCR5380-timeout-fix Wed Sep 17 12:42:02 2003 +++ 25-akpm/drivers/scsi/NCR5380.c Wed Sep 17 12:42:02 2003 @@ -372,7 +372,7 @@ static int NCR5380_poll_politely(struct { r = NCR5380_read(reg); if((r & bit) == val) - return r; + return 0; cpu_relax(); } @@ -381,7 +381,7 @@ static int NCR5380_poll_politely(struct { r = NCR5380_read(reg); if((r & bit) == val) - return r; + return 0; if(!in_interrupt()) yield(); else _