From: Pat LaVarre <p.lavarre@ieee.org>
To: linux-ide@vger.kernel.org
Subject: Re: [PATCH] atapi request sense work
Date: 21 May 2004 11:59:08 -0600 [thread overview]
Message-ID: <1085162347.4791.24.camel@patibmrh9> (raw)
In-Reply-To: <200405211746.35015.bzolnier@elka.pw.edu.pl>
> Keep posting... seconded.
Hi!
Below inline is a trivial -bk8 patch that ducks ever trying PATAPI auto
sense.
In a kernel shipping with ATA_ENABLE_ATAPI defined, this would be a very
bad thing, because we thus falsely report success when in fact we have
not copied read data in or write data out.
But at my desk I find this alternative more usable than vanilla
2.6.6-bk8, because this way I don't have to issue unsolicited op x03
"REQUEST SENSE" to clear out the always-initially-present unit
attentions. Instead, I just ignore the first few garbage results I get.
For example:
$ plscsi /dev/sg0 -X time 5 0 -i 8 -x "25 00 00:00:00:00 00 00:00 00" -v
x 00000000 25 00 00:00:00:00 00 00:00 00 .. .. .. .. .. .. "%@@@@@@@@@"
x 00000000 00:00:00:00 00:00:00:00 .. .. .. .. .. .. .. .. "@@@@@@@@"
// 0 = plscsi.main exit int
$
$ plscsi /dev/sg0 -X time 5 0 -i 8 -x "25 00 00:00:00:00 00 00:00 00" -v
x 00000000 25 00 00:00:00:00 00 00:00 00 .. .. .. .. .. .. "%@@@@@@@@@"
x 00000000 01:04:C9:3F 00:00:08:00 .. .. .. .. .. .. .. .. "ADI?@@H@"
// 0 = plscsi.main exit int
$
See that? The first result is zeroed nonsense, courtesy the x 6 29
Reset unit attention we know was present. Only the second result is
actually meaningful.
I can now proceed to test how well our DMA no-data/ data-in/ data-out
protocols work apart from timeout, auto sense, and the rest of error
recovery.
After that, I can return to inserting a PIO unsolicited op x03 "REQUEST
SENSE" after every command, and then beyond that I can make the auto
sense occur no more often than it should.
Pat LaVarre
diff -Nurp linux-2.6.6-bk8/drivers/scsi/libata-core.c linux-2.6.6-bk8-pel/drivers/scsi/libata-core.c
--- linux-2.6.6-bk8/drivers/scsi/libata-core.c 2004-05-21 09:44:22.000000000 -0600
+++ linux-2.6.6-bk8-pel/drivers/scsi/libata-core.c 2004-05-21 11:29:01.571933824 -0600
@@ -2303,6 +2303,9 @@ void ata_qc_complete(struct ata_queued_c
ata_sg_clean(qc);
if (cmd) {
+#if 1 /* pretend good */
+ cmd->result = SAM_STAT_GOOD;
+#else /* FIXME: admit lost write data, stale read data, etc. */
if (unlikely(drv_stat & (ATA_ERR | ATA_BUSY | ATA_DRQ))) {
if (is_atapi_taskfile(&qc->tf))
cmd->result = SAM_STAT_CHECK_CONDITION;
@@ -2311,6 +2314,7 @@ void ata_qc_complete(struct ata_queued_c
} else {
cmd->result = SAM_STAT_GOOD;
}
+#endif
qc->scsidone(cmd);
}
diff -Nurp linux-2.6.6-bk8/drivers/scsi/libata-scsi.c linux-2.6.6-bk8-pel/drivers/scsi/libata-scsi.c
next prev parent reply other threads:[~2004-05-21 17:59 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-16 14:19 [PATCH] libata DMADIR support Pat LaVarre
2004-05-16 23:16 ` Jeff Garzik
2004-05-17 18:48 ` Pat LaVarre
2004-05-17 19:08 ` Jeff Garzik
2004-05-17 21:06 ` Pat LaVarre
2004-05-17 21:40 ` Jeff Garzik
2004-05-17 21:20 ` Pat LaVarre
2004-05-17 21:32 ` Jeff Garzik
2004-05-17 21:34 ` Jeff Garzik
2004-05-17 22:05 ` Pat LaVarre
2004-05-17 22:36 ` Jeff Garzik
2004-05-17 23:04 ` Pat LaVarre
2004-05-18 22:40 ` Pat LaVarre
2004-05-18 23:07 ` Pat LaVarre
2004-05-18 23:50 ` Jeff Garzik
2004-05-19 22:47 ` Pat LaVarre
2004-05-18 23:48 ` [PATCH] atapi request sense work Jeff Garzik
2004-05-19 20:35 ` Pat LaVarre
2004-05-19 22:19 ` Jeff Garzik
2004-05-19 22:24 ` Pat LaVarre
2004-05-19 22:27 ` Pat LaVarre
2004-05-19 22:54 ` Pat LaVarre
2004-05-21 1:58 ` Pat LaVarre
[not found] ` <6 E36A 11B-AACB-11D8-8B8A-003065635034@ieee.org>
2004-05-21 2:06 ` Pat LaVarre
2004-05-21 3:05 ` Pat LaVarre
2004-05-21 4:04 ` Jeff Garzik
[not found] ` <1 085153750.6103.33.camel@patibmrh9>
2004-05-21 15:35 ` Pat LaVarre
2004-05-21 15:46 ` Bartlomiej Zolnierkiewicz
2004-05-21 17:59 ` Pat LaVarre [this message]
2004-05-21 20:07 ` Pat LaVarre
2004-05-21 21:51 ` Jeff Garzik
2004-05-21 23:12 ` Pat LaVarre
2004-05-21 23:24 ` Pat LaVarre
2004-05-21 23:55 ` Jeff Garzik
2004-05-21 23:57 ` Pat LaVarre
2004-05-21 23:39 ` Pat LaVarre
2004-05-21 23:45 ` Jeff Garzik
2004-05-22 0:06 ` Pat LaVarre
2004-05-22 0:12 ` Pat LaVarre
2004-05-22 0:33 ` Pat LaVarre
2004-05-22 1:11 ` Pat LaVarre
2004-05-26 21:49 ` Pat LaVarre
2004-05-27 23:12 ` Pat LaVarre
2004-05-27 23:32 ` Jeff Garzik
2004-05-27 23:38 ` Pat LaVarre
2004-05-27 23:41 ` Jeff Garzik
2004-05-28 0:13 ` Pat LaVarre
2004-05-28 1:28 ` Pat LaVarre
2004-05-24 15:27 ` Pat LaVarre
2004-05-21 21:59 ` Pat LaVarre
2004-05-21 18:23 ` Danny Cox
2004-05-21 18:39 ` Bartlomiej Zolnierkiewicz
2004-05-21 18:55 ` [PATCH] kmalloc old_hwif Danny Cox
2004-05-21 19:00 ` [PATCH] atapi request sense work Danny Cox
2004-05-21 19:08 ` Bartlomiej Zolnierkiewicz
-- strict thread matches above, loose matches on Subject: below --
2004-05-21 18:45 dwm
2004-05-21 20:44 ` Pat LaVarre
2004-05-30 12:44 Pat LaVarre
2004-05-30 15:15 ` Pat LaVarre
2004-05-31 16:09 ` Pat LaVarre
2004-06-02 0:01 ` Pat LaVarre
2004-06-02 20:52 ` Pat LaVarre
2004-06-02 22:36 ` Pat LaVarre
2004-06-02 22:55 ` Jeff Garzik
2004-06-02 23:53 ` Pat LaVarre
2004-06-03 0:30 ` Pat LaVarre
2004-06-03 0:52 ` Jeff Garzik
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=1085162347.4791.24.camel@patibmrh9 \
--to=p.lavarre@ieee.org \
--cc=linux-ide@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).