Messages in this thread Patch in this message |  | | Date | Thu, 8 Nov 2001 11:36:15 +0100 | From | Jens Axboe <> | Subject | Re: preempt-patch cleared of blame |
| |
On Wed, Nov 07 2001, J Sloan wrote: > I think there may be a problem with the > compaq smart/2p raid drivers, since > the "do_ida_intr" code keeps showing > up in the oops, and I have not seen a > problem with 2.4.14 on any other system.
Does this fix it?
-- Jens Axboe
--- drivers/block/cpqarray.c~ Thu Nov 8 11:33:11 2001 +++ drivers/block/cpqarray.c Thu Nov 8 11:35:31 2001 @@ -942,6 +942,8 @@ if ((c = cmd_alloc(h,1)) == NULL) goto startio; + blkdev_dequeue_request(creq); + spin_unlock_irq(&io_request_lock); bh = creq->bh; @@ -987,13 +989,10 @@ DBGPX( printk("Submitting %d sectors in %d segments\n", sect, seg); ); c->req.hdr.sg_cnt = seg; c->req.hdr.blk_cnt = creq->nr_sectors; - - spin_lock_irq(&io_request_lock); - - blkdev_dequeue_request(creq); - c->req.hdr.cmd = (creq->cmd == READ) ? IDA_READ : IDA_WRITE; c->type = CMD_RWREQ; + + spin_lock_irq(&io_request_lock); /* Put the request on the tail of the request queue */ addQ(&h->reqQ, c); |  |