]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
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)
committerRoxana Nicolescu <roxana.nicolescu@canonical.com>
Mon, 2 Oct 2023 15:20:18 +0000 (17:20 +0200)
BugLink: https://bugs.launchpad.net/bugs/2036075
commit f762326b2baa86ae647e2ba6832bc87e238f68ad upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index d109a4ceb72b1bef3cd165585dc7863c41d5df69..c881eef794288a6396876de03ac3262e25ec2d96 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;