Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: ufs: sysfs: Resume the proper SCSI device

Resume the SCSI device described by the unit descriptor instead of the HBA.

Link: https://lore.kernel.org/r/889bb20c47cc1ae5e40390f533712b704000345b.1619223249.git.asutoshd@codeaurora.org
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Asutosh Das and committed by
Martin K. Petersen
aef80fd1 b294ff3e

+12 -12
+12 -12
drivers/scsi/ufs/ufs-sysfs.c
··· 245 245 goto out; 246 246 } 247 247 248 - pm_runtime_get_sync(hba->dev); 248 + ufshcd_rpm_get_sync(hba); 249 249 res = ufshcd_wb_toggle(hba, wb_enable); 250 - pm_runtime_put_sync(hba->dev); 250 + ufshcd_rpm_put_sync(hba); 251 251 out: 252 252 up(&hba->host_sem); 253 253 return res < 0 ? res : count; ··· 297 297 goto out; 298 298 } 299 299 300 - pm_runtime_get_sync(hba->dev); 300 + ufshcd_rpm_get_sync(hba); 301 301 ret = ufshcd_read_desc_param(hba, desc_id, desc_index, 302 302 param_offset, desc_buf, param_size); 303 - pm_runtime_put_sync(hba->dev); 303 + ufshcd_rpm_put_sync(hba); 304 304 if (ret) { 305 305 ret = -EINVAL; 306 306 goto out; ··· 678 678 up(&hba->host_sem); \ 679 679 return -ENOMEM; \ 680 680 } \ 681 - pm_runtime_get_sync(hba->dev); \ 681 + ufshcd_rpm_get_sync(hba); \ 682 682 ret = ufshcd_query_descriptor_retry(hba, \ 683 683 UPIU_QUERY_OPCODE_READ_DESC, QUERY_DESC_IDN_DEVICE, \ 684 684 0, 0, desc_buf, &desc_len); \ ··· 695 695 goto out; \ 696 696 ret = sysfs_emit(buf, "%s\n", desc_buf); \ 697 697 out: \ 698 - pm_runtime_put_sync(hba->dev); \ 698 + ufshcd_rpm_put_sync(hba); \ 699 699 kfree(desc_buf); \ 700 700 up(&hba->host_sem); \ 701 701 return ret; \ ··· 744 744 } \ 745 745 if (ufshcd_is_wb_flags(QUERY_FLAG_IDN##_uname)) \ 746 746 index = ufshcd_wb_get_query_index(hba); \ 747 - pm_runtime_get_sync(hba->dev); \ 747 + ufshcd_rpm_get_sync(hba); \ 748 748 ret = ufshcd_query_flag(hba, UPIU_QUERY_OPCODE_READ_FLAG, \ 749 749 QUERY_FLAG_IDN##_uname, index, &flag); \ 750 - pm_runtime_put_sync(hba->dev); \ 750 + ufshcd_rpm_put_sync(hba); \ 751 751 if (ret) { \ 752 752 ret = -EINVAL; \ 753 753 goto out; \ ··· 813 813 } \ 814 814 if (ufshcd_is_wb_attrs(QUERY_ATTR_IDN##_uname)) \ 815 815 index = ufshcd_wb_get_query_index(hba); \ 816 - pm_runtime_get_sync(hba->dev); \ 816 + ufshcd_rpm_get_sync(hba); \ 817 817 ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, \ 818 818 QUERY_ATTR_IDN##_uname, index, 0, &value); \ 819 - pm_runtime_put_sync(hba->dev); \ 819 + ufshcd_rpm_put_sync(hba); \ 820 820 if (ret) { \ 821 821 ret = -EINVAL; \ 822 822 goto out; \ ··· 964 964 goto out; 965 965 } 966 966 967 - pm_runtime_get_sync(hba->dev); 967 + ufshcd_rpm_get_sync(hba); 968 968 ret = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, 969 969 QUERY_ATTR_IDN_DYN_CAP_NEEDED, lun, 0, &value); 970 - pm_runtime_put_sync(hba->dev); 970 + ufshcd_rpm_put_sync(hba); 971 971 if (ret) { 972 972 ret = -EINVAL; 973 973 goto out;