From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
linux-ide@vger.kernel.org, Jeff Garzik <jgarzik@redhat.com>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: todays git: WARNING: at drivers/ata/libata-sff.c:1017 ata_sff_hsm_move+0x45e/0x750()
Date: Sat, 10 Jan 2009 08:36:10 -0600 [thread overview]
Message-ID: <1231598170.3642.12.camel@localhost.localdomain> (raw)
In-Reply-To: <20090110122130.318cf168@lxorguk.ukuu.org.uk>
On Sat, 2009-01-10 at 12:21 +0000, Alan Cox wrote:
> > That's the typical REQUEST SENSE command with 18-byte data length.
>
> Which means something has become horribly broken in the core libata stack.
> An 18 byte inquiry would have 18 bytes as the *last* sg element. That
> would therefore not trigger the WARN_ON. Someone has passed an sg list
> that isn't properly terminated perhaps ?
>
> I wonder if the pad code broke this.
I don't think it's anything to do with padding or the block layer.
I think we sent out a request sense with 96 bytes of space for a reply,
which is bog standard for SCSI. The device sent back a payload of 18
bytes, which is perfectly legal ... request sense is a variable payload
command, the device doesn't have to fill the buffer we give it.
18, by the way, is the typical reply length for non descriptor sense
format with no additional information, so this is really expected
behaviour.
Your problem is that the *device* is wanting to transfer a set of bytes
not divisible by four. If you want to use word based PIO, you'll have
to fall back to collecting bytes for the last two. Alternatively, you
could just do byte PIO for all reply lengths like this ... they occur
all over the SCSI standard, but not usually in critical paths.
James
next prev parent reply other threads:[~2009-01-10 14:36 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-09 12:34 todays git: WARNING: at drivers/ata/libata-sff.c:1017 ata_sff_hsm_move+0x45e/0x750() Christian Borntraeger
2009-01-09 12:44 ` Alan Cox
2009-01-09 13:09 ` Christian Borntraeger
2009-01-10 9:09 ` Christian Borntraeger
2009-01-10 10:41 ` Alan Cox
2009-01-10 11:42 ` Christian Borntraeger
2009-01-10 11:49 ` Sergei Shtylyov
2009-01-10 12:21 ` Alan Cox
2009-01-10 13:01 ` Sergei Shtylyov
2009-01-10 13:55 ` Alan Cox
2009-01-10 13:04 ` Christian Borntraeger
2009-01-10 13:14 ` Jeff Garzik
2009-01-10 13:27 ` Christian Borntraeger
2009-01-10 13:51 ` Alan Cox
2009-01-10 21:21 ` Arjan van de Ven
2009-01-10 13:07 ` Ingo Molnar
2009-01-10 13:12 ` Jeff Garzik
2009-01-10 13:24 ` Ingo Molnar
2009-01-10 13:36 ` [bisected] " Ingo Molnar
2009-01-10 13:57 ` Alan Cox
2009-01-10 15:10 ` Sergei Shtylyov
2009-01-10 15:28 ` Alan Cox
2009-01-10 15:59 ` Sergei Shtylyov
2009-01-10 20:06 ` Sergei Shtylyov
2009-01-10 20:31 ` Jeff Garzik
2009-01-10 20:50 ` Sergei Shtylyov
2009-01-11 0:10 ` Alan Cox
2009-01-11 9:18 ` Sergei Shtylyov
2009-01-11 11:24 ` Alan Cox
2009-01-13 9:38 ` [PATCH] ata: fix wrong WARN_ON_ONCE Christian Borntraeger
2009-01-10 13:57 ` [bisected] Re: todays git: WARNING: at drivers/ata/libata-sff.c:1017 ata_sff_hsm_move+0x45e/0x750() Christian Borntraeger
2009-01-10 13:53 ` Alan Cox
2009-01-10 14:36 ` James Bottomley [this message]
2009-01-10 15:03 ` Jeff Garzik
2009-01-10 15:12 ` Alan Cox
2009-01-10 15:22 ` James Bottomley
2009-01-10 15:29 ` Alan Cox
2009-01-10 15:34 ` Sergei Shtylyov
2009-01-10 15:29 ` Sergei Shtylyov
2009-01-10 15:32 ` Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1231598170.3642.12.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=borntraeger@de.ibm.com \
--cc=jgarzik@redhat.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sshtylyov@ru.mvista.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox