From: "Stuart Hayes" <stuarthayes@austin.rr.com>
To: linux-ide@vger.kernel.org, bzolnier@gmail.com
Cc: Stuart_Hayes@Dell.com
Subject: Re: ide-cd question
Date: Thu, 3 Mar 2005 08:27:08 -0600 [thread overview]
Message-ID: <001901c51ffd$1518a210$aeb91942@400sc> (raw)
I sent in this patch a few weeks ago, and never saw a response... I was
wondering if there was a problem with it, or if I need to supply more
info...? This patch is against 2.6.11-rc3. It makes sure that when
ide_atapi_error() tries to end a failing ATAPI request after 2 reset
attempts by calling drive->driver->end_request(), it will really be ended.
Right now, a request that has a non-null rq->bio will not get ended, nor
will rq->errors get cleared, so it will get retried forever with no more
reset attempts.
My fingers are crossed that this patch won't be mangled... I seem to have
a problem with that...
Thanks,
Stuart
--- ide-io.c.orig 2005-02-10 15:23:52.000000000 -0500
+++ ide-io.c.new 2005-02-10 15:23:31.000000000 -0500
@@ -515,7 +515,18 @@ static ide_startstop_t ide_atapi_error(i
hwif->OUTB(WIN_IDLEIMMEDIATE, IDE_COMMAND_REG);
if (rq->errors >= ERROR_MAX) {
- drive->driver->end_request(drive, 0, 0);
+ /*
+ * make sure request is fully ended--otherwise bio might get updated and the
+ * command will be retried without rq->errors getting reset to zero, which
+ * could cause us to get stuck in a loop with infinite retries without any
+ * more reset attempts (borrowed from cdrom_end_request)
+ */
+ int nsectors;
+ if (blk_pc_request(rq))
+ nsectors = (rq->data_len + 511) >> 9;
+ if (!nsectors)
+ nsectors = 1;
+ drive->driver->end_request(drive, 0, nsectors);
} else {
if ((rq->errors & ERROR_RESET) == ERROR_RESET) {
++rq->errors;
next reply other threads:[~2005-03-03 14:29 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-03 14:27 Stuart Hayes [this message]
2005-03-03 16:15 ` ide-cd question Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2005-03-24 23:01 Stuart_Hayes
2005-03-17 16:17 Stuart_Hayes
2005-03-18 16:42 ` Bartlomiej Zolnierkiewicz
2005-03-04 22:37 Stuart_Hayes
2005-03-08 14:14 ` Jens Axboe
2005-03-03 17:34 Stuart_Hayes
2005-03-04 7:47 ` Jens Axboe
2005-02-12 17:26 Stuart Hayes
[not found] <7A8F92187EF7A249BF847F1BF4903C04010EE8A6@ausx2kmpc103.aus.amer.dell.com>
2005-02-12 17:21 ` Stuart Hayes
2005-02-10 21:46 Stuart_Hayes
2005-02-10 21:41 Stuart_Hayes
2005-02-07 17:22 Stuart_Hayes
2005-02-04 16:21 Stuart_Hayes
2005-02-03 20:34 Stuart_Hayes
2005-02-03 21:03 ` Bartlomiej Zolnierkiewicz
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='001901c51ffd$1518a210$aeb91942@400sc' \
--to=stuarthayes@austin.rr.com \
--cc=Stuart_Hayes@Dell.com \
--cc=bzolnier@gmail.com \
--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).