Re: [PATCH] fsi: scom: Don't abort operations for minor errors

From: Benjamin Herrenschmidt
Date: Wed Aug 21 2019 - 00:36:25 EST


On Thu, 2019-08-15 at 14:08 -0500, Eddie James wrote:
> The scom driver currently fails out of operations if certain system
> errors are flagged in the status register; system checkstop, special
> attention, or recoverable error. These errors won't impact the ability
> of the scom engine to perform operations, so the driver should continue
> under these conditions.
> Also, don't do a PIB reset for these conditions, since it won't help.
>
> Signed-off-by: Eddie James <eajames@xxxxxxxxxxxxx>

Acked-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

> ---
> drivers/fsi/fsi-scom.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
> index 343153d..004dc03 100644
> --- a/drivers/fsi/fsi-scom.c
> +++ b/drivers/fsi/fsi-scom.c
> @@ -38,8 +38,7 @@
> #define SCOM_STATUS_PIB_RESP_MASK 0x00007000
> #define SCOM_STATUS_PIB_RESP_SHIFT 12
>
> -#define SCOM_STATUS_ANY_ERR (SCOM_STATUS_ERR_SUMMARY | \
> - SCOM_STATUS_PROTECTION | \
> +#define SCOM_STATUS_ANY_ERR (SCOM_STATUS_PROTECTION | \
> SCOM_STATUS_PARITY | \
> SCOM_STATUS_PIB_ABORT | \
> SCOM_STATUS_PIB_RESP_MASK)
> @@ -251,11 +250,6 @@ static int handle_fsi2pib_status(struct scom_device *scom, uint32_t status)
> /* Return -EBUSY on PIB abort to force a retry */
> if (status & SCOM_STATUS_PIB_ABORT)
> return -EBUSY;
> - if (status & SCOM_STATUS_ERR_SUMMARY) {
> - fsi_device_write(scom->fsi_dev, SCOM_FSI2PIB_RESET_REG, &dummy,
> - sizeof(uint32_t));
> - return -EIO;
> - }
> return 0;
> }
>