Re: CPQARRAY driver horribly broken in 2.4.14

Jens Axboe (axboe@suse.de)
Sat, 10 Nov 2001 14:37:58 +0100


--cWoXeonUoKmBZSoM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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

--cWoXeonUoKmBZSoM Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=cciss-dequeue-1

--- 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)

--cWoXeonUoKmBZSoM-- - 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/