scsi: mpi3mr: Propagate sense data for admin queue SCSI I/O
authorSathya Prakash <sathya.prakash@broadcom.com>
Wed, 31 May 2023 18:40:25 +0000 (00:10 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Jun 2023 00:29:59 +0000 (20:29 -0400)
Copy the sense data to internal driver buffer when the firmware completes
any SCSI I/O command sent through admin queue with sense data for further
use.

Fixes: 506bc1a0d6ba ("scsi: mpi3mr: Add support for MPT commands")
Cc: <stable@vger.kernel.org>
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
Link: https://lore.kernel.org/r/20230531184025.3803-1-sumit.saxena@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index 9b56d13..5fa07d6 100644 (file)
@@ -402,6 +402,11 @@ static void mpi3mr_process_admin_reply_desc(struct mpi3mr_ioc *mrioc,
                                memcpy((u8 *)cmdptr->reply, (u8 *)def_reply,
                                    mrioc->reply_sz);
                        }
+                       if (sense_buf && cmdptr->sensebuf) {
+                               cmdptr->is_sense = 1;
+                               memcpy(cmdptr->sensebuf, sense_buf,
+                                      MPI3MR_SENSE_BUF_SZ);
+                       }
                        if (cmdptr->is_waiting) {
                                complete(&cmdptr->done);
                                cmdptr->is_waiting = 0;