On Mon, Feb 04 2002, Paul Bristow wrote:
> I'll take a look at it.
One hint is that this bug is triggered when you attempt to add a request
in from of one that has already been started. In case of ide,
ide_do_drive_cmd with ide_preempt would trigger this. That may or may
not be a bug, depends on if the driver knows what it is doing or not.
If the driver knows what it is doing, then this patch should cure your
problem.
--- drivers/ide/ide.c~ Mon Feb 4 09:12:10 2002
+++ drivers/ide/ide.c Mon Feb 4 09:14:39 2002
@@ -1784,6 +1784,8 @@
if (blk_queue_empty(&drive->queue) || action == ide_preempt) {
if (action == ide_preempt)
hwgroup->rq = NULL;
+ if (!blk_queue_empty(&drive->queue))
+ list_entry_rq(queue_head)->flags &= ~REQ_STARTED;
} else {
if (action == ide_wait || action == ide_end) {
queue_head = queue_head->prev;
-- Jens Axboe- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:32 EST