Messages in this thread Patch in this message |  | | Date | Sat, 10 Nov 2001 14:37:58 +0100 | From | Jens Axboe <> | Subject | Re: CPQARRAY driver horribly broken in 2.4.14 |
| |
On Fri, Nov 09 2001, Linux Kernel Developer wrote: > Hi, > > Thanks a lot for the help. Any particular reason to use the new driver > now or should I just wait until 2.4.15 is release? > > Guess I didn't need to do all that debugging. Bug may have already been > caught. 8-) > > However I did notice something. The patch you've included below covers > the cciss.c file? My system is using the cpqarray driver. And I fixed the > problem by replacing the cpqarray.[ch], ida_cmd.h, and ida_ioctl.h files. I > don't think the patch below would have done anything for me as I'm pretty > sure the cciss.c file isn't used by the cpqarray driver and since I didn't > change out the cciss.c file in my now working kernel source tree (linux > 2.4.14-lkd1 8-D).
You needed the cciss equivalent of the one posted, attached.
-- Jens Axboe
--- linux/drivers/block/cciss.c~ Thu Nov 8 11:36:24 2001 +++ linux/drivers/block/cciss.c Thu Nov 8 11:37:03 2001 @@ -1307,6 +1307,8 @@ if (( c = cmd_alloc(h, 1)) == NULL) goto startio; + blkdev_dequeue_request(creq); + spin_unlock_irq(&io_request_lock); c->cmd_type = CMD_RWREQ; @@ -1386,12 +1388,6 @@ spin_lock_irq(&io_request_lock); - blkdev_dequeue_request(creq); - - /* - * ehh, we can't really end the request here since it's not - * even started yet. for now it shouldn't hurt though - */ addQ(&(h->reqQ),c); h->Qdepth++; if(h->Qdepth > h->maxQsinceinit) |  |