scsi: mpt3sas: Memset config_cmds.reply buffer with zeros
authorSuganath Prabu S <suganath-prabu.subramani@broadcom.com>
Thu, 30 Jul 2020 08:03:43 +0000 (13:33 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 21 Aug 2020 01:41:50 +0000 (21:41 -0400)
Currently config_cmds.reply buffer is not memset to zero before posting
config page request message.  In some cases, for the current config
request, the previous config reply is getting processed and we will observe
PageType mismatch between request to reply buffer. It will be difficult to
debug this type of issue and it confuses by thinking that HBA Firmware
itself posted the wrong config reply.  So it is better to memset the
config_cmds.reply buffer with zeros before issuing the config request.

Link: https://lore.kernel.org/r/1596096229-3341-2-git-send-email-suganath-prabu.subramani@broadcom.com
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_config.c

index 11026e0..4a0ddc7 100644 (file)
@@ -371,7 +371,7 @@ _config_request(struct MPT3SAS_ADAPTER *ioc, Mpi2ConfigRequest_t
        }
 
        r = 0;
-       memset(mpi_reply, 0, sizeof(Mpi2ConfigReply_t));
+       memset(ioc->config_cmds.reply, 0, sizeof(Mpi2ConfigReply_t));
        ioc->config_cmds.status = MPT3_CMD_PENDING;
        config_request = mpt3sas_base_get_msg_frame(ioc, smid);
        ioc->config_cmds.smid = smid;