[PATCH] cciss: firmware version is invalid - Kernel

This is a discussion on [PATCH] cciss: firmware version is invalid - Kernel ; From b659b0b0e14f5e3c049bf5c8d2883587cdbfe344 Mon Sep 17 00:00:00 2001 From: Tim Gardner Date: Thu, 6 Nov 2008 12:34:25 -0700 Subject: [PATCH] cciss: Firmware Version is invalid OriginalAuthor: bryan.stillwell@hp.com OriginalLocation: http://launchpadlibrarian.net/185825...sion_fix.patch Bug: https://bugs.launchpad.net/bugs/284031 Emit a CISS_INQUIRY command to read the firmware version. Signed-off-by: ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: [PATCH] cciss: firmware version is invalid

  1. [PATCH] cciss: firmware version is invalid

    From b659b0b0e14f5e3c049bf5c8d2883587cdbfe344 Mon Sep 17 00:00:00 2001
    From: Tim Gardner
    Date: Thu, 6 Nov 2008 12:34:25 -0700
    Subject: [PATCH] cciss: Firmware Version is invalid
    OriginalAuthor: bryan.stillwell@hp.com
    OriginalLocation: http://launchpadlibrarian.net/185825...sion_fix.patch
    Bug: https://bugs.launchpad.net/bugs/284031

    Emit a CISS_INQUIRY command to read the firmware version.

    Signed-off-by: Tim Gardner
    Cc: stable@kernel.org
    ---
    drivers/block/cciss.c | 21 +++++++++++++++++++++
    1 files changed, 21 insertions(+), 0 deletions(-)

    diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
    index b73116e..844b806 100644
    --- a/drivers/block/cciss.c
    +++ b/drivers/block/cciss.c
    @@ -1631,6 +1631,7 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time)
    int ctlr = h->ctlr;
    int num_luns;
    ReportLunData_struct *ld_buff = NULL;
    + InquiryData_struct *inq_buff = NULL;
    int return_code;
    int listlength = 0;
    int i;
    @@ -1651,6 +1652,26 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time)
    h->busy_configuring = 1;
    spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags);

    + inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL);
    + if (inq_buff == NULL) {
    + printk(KERN_ERR "cciss: out of memory\n");
    + return ENOMEM;
    + }
    +
    + /* Get the firmware version */
    + return_code = sendcmd_withirq(CISS_INQUIRY, ctlr, inq_buff,
    + sizeof(InquiryData_struct), 0, 0 ,0, TYPE_CMD);
    + if (return_code == IO_OK) {
    + h->firm_ver[0] = inq_buff->data_byte[32];
    + h->firm_ver[1] = inq_buff->data_byte[33];
    + h->firm_ver[2] = inq_buff->data_byte[34];
    + h->firm_ver[3] = inq_buff->data_byte[35];
    + } else { /* send command failed */
    + printk(KERN_WARNING "cciss: unable to determine firmware"
    + " version of controller\n");
    + }
    +
    + /* Get the number of logical volumes */
    ld_buff = kzalloc(sizeof(ReportLunData_struct), GFP_KERNEL);
    if (ld_buff == NULL)
    goto mem_msg;
    --
    1.5.6.3

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

  2. Re: [PATCH] cciss: firmware version is invalid

    Tim,

    Thanks for getting this merged, but I believe this patch is preferred
    over the original one I attached:

    http://userweb.kernel.org/~akpm/mmot...nd-again.patch

    The reason for this according to Mike Miller is: "The first fix could be
    called anytime something changed on the controller such as number of
    logical volumes, etc. This patch will get called only once for each
    controller."

    Thanks,
    Bryan

    On Thu, 2008-11-06 at 20:12 +0000, Tim Gardner wrote:
    > >From b659b0b0e14f5e3c049bf5c8d2883587cdbfe344 Mon Sep 17 00:00:00 2001

    > From: Tim Gardner
    > Date: Thu, 6 Nov 2008 12:34:25 -0700
    > Subject: [PATCH] cciss: Firmware Version is invalid
    > OriginalAuthor: bryan.stillwell@hp.com
    > OriginalLocation: http://launchpadlibrarian.net/185825...sion_fix.patch
    > Bug: https://bugs.launchpad.net/bugs/284031
    >
    > Emit a CISS_INQUIRY command to read the firmware version.
    >
    > Signed-off-by: Tim Gardner
    > Cc: stable@kernel.org
    > ---
    > drivers/block/cciss.c | 21 +++++++++++++++++++++
    > 1 files changed, 21 insertions(+), 0 deletions(-)
    >
    > diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
    > index b73116e..844b806 100644
    > --- a/drivers/block/cciss.c
    > +++ b/drivers/block/cciss.c
    > @@ -1631,6 +1631,7 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time)
    > int ctlr = h->ctlr;
    > int num_luns;
    > ReportLunData_struct *ld_buff = NULL;
    > + InquiryData_struct *inq_buff = NULL;
    > int return_code;
    > int listlength = 0;
    > int i;
    > @@ -1651,6 +1652,26 @@ static int rebuild_lun_table(ctlr_info_t *h, int first_time)
    > h->busy_configuring = 1;
    > spin_unlock_irqrestore(CCISS_LOCK(h->ctlr), flags);
    >
    > + inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL);
    > + if (inq_buff == NULL) {
    > + printk(KERN_ERR "cciss: out of memory\n");
    > + return ENOMEM;
    > + }
    > +
    > + /* Get the firmware version */
    > + return_code = sendcmd_withirq(CISS_INQUIRY, ctlr, inq_buff,
    > + sizeof(InquiryData_struct), 0, 0 ,0, TYPE_CMD);
    > + if (return_code == IO_OK) {
    > + h->firm_ver[0] = inq_buff->data_byte[32];
    > + h->firm_ver[1] = inq_buff->data_byte[33];
    > + h->firm_ver[2] = inq_buff->data_byte[34];
    > + h->firm_ver[3] = inq_buff->data_byte[35];
    > + } else { /* send command failed */
    > + printk(KERN_WARNING "cciss: unable to determine firmware"
    > + " version of controller\n");
    > + }
    > +
    > + /* Get the number of logical volumes */
    > ld_buff = kzalloc(sizeof(ReportLunData_struct), GFP_KERNEL);
    > if (ld_buff == NULL)
    > goto mem_msg;
    > --
    > 1.5.6.3
    >


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

  3. Re: [PATCH] cciss: firmware version is invalid

    Stillwell, Bryan wrote:
    > Tim,
    >
    > Thanks for getting this merged, but I believe this patch is preferred
    > over the original one I attached:
    >
    > http://userweb.kernel.org/~akpm/mmot...nd-again.patch
    >
    > The reason for this according to Mike Miller is: "The first fix could be
    > called anytime something changed on the controller such as number of
    > logical volumes, etc. This patch will get called only once for each
    > controller."
    >
    > Thanks,
    > Bryan


    applied


    --
    Tim Gardner tim.gardner@canonical.com
    --
    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/

  4. Re: [PATCH] cciss: firmware version is invalid

    On Fri, 07 Nov 2008 07:12:08 -0700
    Tim Gardner wrote:

    > Stillwell, Bryan wrote:
    > > Tim,
    > >
    > > Thanks for getting this merged, but I believe this patch is preferred
    > > over the original one I attached:
    > >
    > > http://userweb.kernel.org/~akpm/mmot...nd-again.patch
    > >
    > > The reason for this according to Mike Miller is: "The first fix could be
    > > called anytime something changed on the controller such as number of
    > > logical volumes, etc. This patch will get called only once for each
    > > controller."
    > >
    > > Thanks,
    > > Bryan

    >
    > applied
    >


    I'm all confused here.

    cciss-fix-regression-firmware-not-displayed-in-procfs-again-and-again.patch
    is now in mainline. Are you saying that "cciss: Firmware Version is
    invalid" is preferred? That "cciss: Firmware Version is invalid"
    should still be applied?

    If so, "cciss: Firmware Version is invalid" will need a better title
    and changelog, please. The one you have there is pretty skimpy.
    reading between the lines, I'm guessing that the driver emits "Firmware
    Version is invalid" messages and that this patch somehow fixes that?

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

  5. Re: [PATCH] cciss: firmware version is invalid

    Andrew Morton wrote:
    > On Fri, 07 Nov 2008 07:12:08 -0700
    > Tim Gardner wrote:
    >
    >> Stillwell, Bryan wrote:
    >>> Tim,
    >>>
    >>> Thanks for getting this merged, but I believe this patch is preferred
    >>> over the original one I attached:
    >>>
    >>> http://userweb.kernel.org/~akpm/mmot...nd-again.patch
    >>>
    >>> The reason for this according to Mike Miller is: "The first fix could be
    >>> called anytime something changed on the controller such as number of
    >>> logical volumes, etc. This patch will get called only once for each
    >>> controller."
    >>>
    >>> Thanks,
    >>> Bryan

    >> applied
    >>

    >
    > I'm all confused here.
    >
    > cciss-fix-regression-firmware-not-displayed-in-procfs-again-and-again.patch
    > is now in mainline. Are you saying that "cciss: Firmware Version is
    > invalid" is preferred? That "cciss: Firmware Version is invalid"
    > should still be applied?
    >
    > If so, "cciss: Firmware Version is invalid" will need a better title
    > and changelog, please. The one you have there is pretty skimpy.
    > reading between the lines, I'm guessing that the driver emits "Firmware
    > Version is invalid" messages and that this patch somehow fixes that?
    >


    Andrew,

    The patch in Linus' repo looks correct, so please drop this one. At the
    time I sent the original patch I didn't realize there was another
    version already staged for Linus.

    rtg
    --
    Tim Gardner tim.gardner@canonical.com
    --
    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/

+ Reply to Thread