linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 2.4.19 SCSI core bug?
@ 2002-09-11 21:19 Russell King
  2002-09-12  9:01 ` Russell King
  0 siblings, 1 reply; 6+ messages in thread
From: Russell King @ 2002-09-11 21:19 UTC (permalink / raw)
  To: linux-kernel

Hi,

I've just been running some of my tests on 2.4.19 on ARM, and came
across the following bug, which seems to be somewhere in the bowls of
the SCSI layer.

I'm using drivers/acorn/scsi/powertec.c, which uses fas216.c as the
core chipset driver (I authored both of these files) which contains
some pretty rigorous sanity checking.

Basically, what seems to be happening is that scsi can go wrong after
a medium error, and repeatedly pass invalid requests back down to the
HBA.  My HBA driver dislikes invalid requests thusly:

scsi0.2: bad request buffer length 38400, should be 130048

38400 is SCpnt->request_bufflen.
130048 is the total number of bytes in the SG list.

Dumping out the offending command:
	Read (10) 00 00 00 46 00 00 00 fe 00

Ok, so we were asking for 0xfe 512-byte sectors, which is 130048.
So why did SCSI tell me that it wanted 38400 bytes in
SCpnt->request_bufflen?

My workaround for this is to forcefully set request_bufflen
correctly, which appears to work.  However, the SCSI subsystem
completely stops making progress at this point.  (It just
repeats the above command indefinitely.)

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2002-09-12 21:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-11 21:19 2.4.19 SCSI core bug? Russell King
2002-09-12  9:01 ` Russell King
2002-09-12 15:39   ` Mike Anderson
2002-09-12 15:42     ` Russell King
2002-09-12 16:45       ` Russell King
2002-09-12  9:41         ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).