On Wed, May 29, 2013 at 12:14 AM, Philip J. Kelleher
<[email protected]> wrote:
> From: Philip J Kelleher <[email protected]>
>
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/