RE: [PATCH 06/11] aacraid: replace aac_flush_ios() with midlayer helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Acked-by: Balsundar P < Balsundar.P@xxxxxxxxxxxxx>

-----Original Message-----
From: Hannes Reinecke <hare@xxxxxxx> 
Sent: Wednesday, November 20, 2019 16:01
To: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>; James Bottomley <james.bottomley@xxxxxxxxxxxxxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; Hannes Reinecke <hare@xxxxxxx>; Balsundar P <balsundar.p@xxxxxxxxxxxxx>; Adaptec OEM Raid Solutions <aacraid@xxxxxxxxxxxxx>
Subject: [PATCH 06/11] aacraid: replace aac_flush_ios() with midlayer helper

EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

Use the midlayer helper scsi_host_flush_commands() to flush all outstanding commands.

Cc: Balsundar P <balsundar.p@xxxxxxxxxxxxx>
Cc: Adaptec OEM Raid Solutions <aacraid@xxxxxxxxxxxxx>
Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
---
 drivers/scsi/aacraid/linit.c | 24 ++----------------------
 1 file changed, 2 insertions(+), 22 deletions(-)

diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index ee6bc2f9b80a..847dac80defa 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -1977,26 +1977,6 @@ static void aac_remove_one(struct pci_dev *pdev)
        }
 }

-static void aac_flush_ios(struct aac_dev *aac) -{
-       int i;
-       struct scsi_cmnd *cmd;
-
-       for (i = 0; i < aac->scsi_host_ptr->can_queue; i++) {
-               cmd = (struct scsi_cmnd *)aac->fibs[i].callback_data;
-               if (cmd && (cmd->SCp.phase == AAC_OWNER_FIRMWARE)) {
-                       scsi_dma_unmap(cmd);
-
-                       if (aac->handle_pci_error)
-                               cmd->result = DID_NO_CONNECT << 16;
-                       else
-                               cmd->result = DID_RESET << 16;
-
-                       cmd->scsi_done(cmd);
-               }
-       }
-}
-
 static pci_ers_result_t aac_pci_error_detected(struct pci_dev *pdev,
                                        enum pci_channel_state error)  { @@ -2013,7 +1993,7 @@ static pci_ers_result_t aac_pci_error_detected(struct pci_dev *pdev,

                scsi_block_requests(aac->scsi_host_ptr);
                aac_cancel_rescan_worker(aac);
-               aac_flush_ios(aac);
+               scsi_host_flush_commands(aac->scsi_host_ptr, 
+ DID_NO_CONNECT);
                aac_release_resources(aac);

                pci_disable_pcie_error_reporting(pdev);
@@ -2023,7 +2003,7 @@ static pci_ers_result_t aac_pci_error_detected(struct pci_dev *pdev,
        case pci_channel_io_perm_failure:
                aac->handle_pci_error = 1;

-               aac_flush_ios(aac);
+               scsi_host_flush_commands(aac->scsi_host_ptr, 
+ DID_NO_CONNECT);
                return PCI_ERS_RESULT_DISCONNECT;
        }

--
2.16.4





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux