scsi: smartpqi: fix call trace in device discovery
authorMurthy Bhat <Murthy.Bhat@microsemi.com>
Mon, 7 Oct 2019 22:31:28 +0000 (17:31 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 10 Oct 2019 03:07:50 +0000 (23:07 -0400)
Use sas_phy_delete rather than sas_phy_free which, according to
comments, should not be called for PHYs that have been set up
successfully.

Link: https://lore.kernel.org/r/157048748876.11757.17773443136670011786.stgit@brunhilda
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
Reviewed-by: Scott Teel <scott.teel@microsemi.com>
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com>
Signed-off-by: Murthy Bhat <Murthy.Bhat@microsemi.com>
Signed-off-by: Don Brace <don.brace@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/smartpqi/smartpqi_sas_transport.c

index 6776dfc..b7e28b9 100644 (file)
@@ -45,9 +45,9 @@ static void pqi_free_sas_phy(struct pqi_sas_phy *pqi_sas_phy)
        struct sas_phy *phy = pqi_sas_phy->phy;
 
        sas_port_delete_phy(pqi_sas_phy->parent_port->port, phy);
-       sas_phy_free(phy);
        if (pqi_sas_phy->added_to_port)
                list_del(&pqi_sas_phy->phy_list_entry);
+       sas_phy_delete(phy);
        kfree(pqi_sas_phy);
 }