Re: CPQARRAY driver horribly broken in 2.4.14

From: Linux Kernel Developer (linux_developer@hotmail.com)
Date: Fri Nov 09 2001 - 16:51:44 EST


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

----- Original Message -----
From: "J Sloan" <jjs@pobox.com>
To: "Linux Kernel Developer" <linux_developer@hotmail.com>
Cc: <linux-kernel@vger.kernel.org>
Sent: Thursday, November 08, 2001 10:45 PM
Subject: Re: CPQARRAY driver horribly broken in 2.4.14

> Linux Kernel Developer wrote:
>
> > Hi all,
> >
> > I'm using the cpqarray driver for a Compaq Smart Arrat 3100ES
> > controller on a Compaq Proliant 7000. Today I tried upgrading the
kernel to
> > 2.4.14. Soon after the upgrade I though about making a small change in
the
> > kernel however as soon as I tried doing a "make dep" the system oopsed
and
> > froze.
>
> Been there, done that, bought the t-shirt.
>
> The attached patch courtesy of Jens Axboe
> fixed my Compaq 6500 which was giving me
> fits - basically in 2.4.14 it had a nasty habit of
> scribbling on the disk and then locking up,
> requiring a power cycle, manual fsck and
> file restoration to get it running again.
>
> With this patch 2.4.14 has been solid.
>
> cu
>
> jjs
>
>
>

----------------------------------------------------------------------------

----

> --- 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) > - 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 Nov 15 2001 - 21:00:23 EST