Re: [PATCH] hpsa: do not attempt to read from a write-only register

From: scameron
Date: Mon Jul 11 2011 - 16:55:53 EST


On Mon, Jul 11, 2011 at 01:19:11PM -0700, Andrew Morton wrote:
> On Fri, 08 Jul 2011 14:59:26 -0500
> "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx> wrote:
>
> > From: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx>
> >
> > Most smartarrays tolerate it, but a few new ones don't.
> >
> > Signed-off-by: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx>
> > ---
> > drivers/scsi/hpsa.h | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
> > index 6d8dcd4..7f53cea 100644
> > --- a/drivers/scsi/hpsa.h
> > +++ b/drivers/scsi/hpsa.h
> > @@ -214,7 +214,7 @@ static void SA5_submit_command(struct ctlr_info *h,
> > dev_dbg(&h->pdev->dev, "Sending %x, tag = %x\n", c->busaddr,
> > c->Header.Tag.lower);
> > writel(c->busaddr, h->vaddr + SA5_REQUEST_PORT_OFFSET);
> > - (void) readl(h->vaddr + SA5_REQUEST_PORT_OFFSET);
> > + (void) readl(h->vaddr + SA5_SCRATCHPAD_OFFSET);
> > h->commands_outstanding++;
> > if (h->commands_outstanding > h->max_outstanding)
> > h->max_outstanding = h->commands_outstanding;
>
> The changelog forgot to tell us the user-visible effects of the bug.
> That was really really bad of it. Bad changelog. No bone for you.

Oh, sorry. When the controller doesn't tolerate the bug, the firmware
on it locks up. No interrupts are received, no commands complete. I/o
on that controller grinds to a halt.

I can resubmit if you like.

-- steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/