Merge tag 'for-linus-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[linux-2.6-microblaze.git] / drivers / scsi / smartpqi / smartpqi_sas_transport.c
index 6776dfc..b728911 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);
 }
 
@@ -312,7 +312,6 @@ static int pqi_sas_get_linkerrors(struct sas_phy *phy)
 static int pqi_sas_get_enclosure_identifier(struct sas_rphy *rphy,
        u64 *identifier)
 {
-
        int rc;
        unsigned long flags;
        struct Scsi_Host *shost;
@@ -361,7 +360,7 @@ static int pqi_sas_get_enclosure_identifier(struct sas_rphy *rphy,
                }
        }
 
-       if (found_device->phy_connected_dev_type != SA_CONTROLLER_DEVICE) {
+       if (found_device->phy_connected_dev_type != SA_DEVICE_TYPE_CONTROLLER) {
                rc = -EINVAL;
                goto out;
        }
@@ -382,12 +381,10 @@ out:
        spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
 
        return rc;
-
 }
 
 static int pqi_sas_get_bay_identifier(struct sas_rphy *rphy)
 {
-
        int rc;
        unsigned long flags;
        struct pqi_ctrl_info *ctrl_info;
@@ -482,7 +479,6 @@ pqi_build_csmi_smp_passthru_buffer(struct sas_rphy *rphy,
                req_size -= SMP_CRC_FIELD_LENGTH;
 
        put_unaligned_le32(req_size, &parameters->request_length);
-
        put_unaligned_le32(resp_size, &parameters->response_length);
 
        sg_copy_to_buffer(job->request_payload.sg_list,
@@ -512,12 +508,12 @@ void pqi_sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost,
        struct sas_rphy *rphy)
 {
        int rc;
-       struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
+       struct pqi_ctrl_info *ctrl_info;
        struct bmic_csmi_smp_passthru_buffer *smp_buf;
        struct pqi_raid_error_info error_info;
        unsigned int reslen = 0;
 
-       pqi_ctrl_busy(ctrl_info);
+       ctrl_info = shost_to_hba(shost);
 
        if (job->reply_payload.payload_len == 0) {
                rc = -ENOMEM;
@@ -539,16 +535,6 @@ void pqi_sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost,
                goto out;
        }
 
-       if (pqi_ctrl_offline(ctrl_info)) {
-               rc = -ENXIO;
-               goto out;
-       }
-
-       if (pqi_ctrl_blocked(ctrl_info)) {
-               rc = -EBUSY;
-               goto out;
-       }
-
        smp_buf = pqi_build_csmi_smp_passthru_buffer(rphy, job);
        if (!smp_buf) {
                rc = -ENOMEM;