On 06/30/2017 10:29 AM, Shivasharan S wrote:
> Signed-off-by: Kashyap Desai <kashyap.de...@broadcom.com>
> Signed-off-by: Shivasharan S <shivasharan.srikanteshw...@broadcom.com>
> ---
>  drivers/scsi/megaraid/megaraid_sas_fusion.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c 
> b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> index 0f13c58..a308e14 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
> @@ -3618,6 +3618,15 @@ void megasas_refire_mgmt_cmd(struct megasas_instance 
> *instance)
>  
>               if (!smid)
>                       continue;
> +
> +             /* Do not refire shutdown command */
> +             if (le32_to_cpu(cmd_mfi->frame->dcmd.opcode) ==
> +                     MR_DCMD_CTRL_SHUTDOWN) {
> +                     cmd_mfi->frame->dcmd.cmd_status = MFI_STAT_OK;
> +                     megasas_complete_cmd(instance, cmd_mfi, DID_OK);
> +                     continue;
> +             }
> +
>               req_desc = megasas_get_request_descriptor
>                                       (instance, smid - 1);
>               refire_cmd = req_desc && ((cmd_mfi->frame->dcmd.opcode !=
> 
Please, no.
You already have a selector further down whether to refire the command,
pending on the DRV_DCMD_SKIP_REFIRE flag.
If you always set this flag for the shutdown command you wouldn't need
to touch this at all.
And if you particularly dislike that solution convert the 'refire_cmd ='
statement into a proper switch and blank it out from there.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Teamlead Storage & Networking
h...@suse.de                                   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

Reply via email to