Commit 32ca1b05 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] NCR5380 timeout fix

From: Wagner_Volanin <fadinha.mail@terra.com.br>

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.

(Acked by Alan)
parent ce7073a0
......@@ -372,7 +372,7 @@ static int NCR5380_poll_politely(struct Scsi_Host *instance, int reg, int bit, i
{
r = NCR5380_read(reg);
if((r & bit) == val)
return r;
return 0;
cpu_relax();
}
......@@ -381,7 +381,7 @@ static int NCR5380_poll_politely(struct Scsi_Host *instance, int reg, int bit, i
{
r = NCR5380_read(reg);
if((r & bit) == val)
return r;
return 0;
if(!in_interrupt())
yield();
else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment