Re: [OOPS] Oops with ide-floppy in 2.5.2 / 2.5.3

From: Jens Axboe (axboe@suse.de)
Date: Mon Feb 04 2002 - 03:15:09 EST


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