Re: [PATCH 7/8] rsxx: Adding EEH check inside cregs timeout.

From: Andy Shevchenko
Date: Wed May 29 2013 - 14:26:41 EST


On Wed, May 29, 2013 at 12:14 AM, Philip J. Kelleher
<pjk1939@xxxxxxxxxxxxxxxxxx> wrote:
> From: Philip J Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx>
>
> Unfortunaly, our CPU register path does not do any kind of
> EEH error checking. So to fix this issue, an ioread32 was
> added to the CPU register timeout code. This way, the
> driver can check to see if the timeout was caused by an EEH
> error or not.


> +++ linux-block/drivers/block/rsxx/cregs.c 2013-05-01 18:59:57.596197150 -0500
> @@ -431,6 +431,15 @@ static int __issue_creg_rw(struct rsxx_c
> *hw_stat = completion.creg_status;
>
> if (completion.st) {
> + /*
> + * This read is needed to verify that there has not been any
> + * extreme errors that might have occurred, i.e. EEH. The
> + * function iowrite32 will not detect EEH errors, so it is
> + * necessary that we recover if such an error is the reason
> + * for the timeout.
> + */
> + ioread32(card->regmap + SCRATCH);

This is just a dummy read, right? Perhaps you may add this word to the
explanation.

--
With Best Regards,
Andy Shevchenko
--
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/