Re: [PATCH 04/16] aacraid: Prevent E3 lockup when deleting units

Johannes Thumshirn
2017-02-15T08:20:12Z

On 02/14/2017 09:44 PM, Raghava Aditya Renukunta wrote:
> Arrconf management utility at times sends fibs with AdapterProcessed set
> in its fibs. This causes the controller to panic and lockup.
>
> Fixed by failing the commands that have AdapterProcessed set in its flag.
>
> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
> Reviewed-by: David Carroll <David.Carroll@microsemi.com>
> ---
> drivers/scsi/aacraid/commsup.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
> index 6220b47..f7a3bcb 100644
> --- a/drivers/scsi/aacraid/commsup.c
> +++ b/drivers/scsi/aacraid/commsup.c
> @@ -522,6 +522,10 @@ int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size,
>
> if (!(hw_fib->header.XferState & cpu_to_le32(HostOwned)))
> return -EBUSY;
> +
> + if (hw_fib->header.XferState & cpu_to_le32(AdapterProcessed))
> + return -EINVAL;
> +

As far as I can see the fib_xfer_state enum isn't an exported as an
official ABI, so it's a good candidate (whole of aacraid.h actually) for
the next round of camel case removals.

Anyways, this can wait:
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>

--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850