From: Martin K. Petersen Date: Wed, 27 Jan 2021 02:36:54 +0000 (-0500) Subject: Merge branch '5.11/scsi-fixes' into 5.12/scsi-queue X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4d82e9db422ec34793650a34c5f03edd7b0abbaf;p=linux.git Merge branch '5.11/scsi-fixes' into 5.12/scsi-queue The UFS core has received a substantial rework this cycle. This in turn has caused a merge conflict in linux-next. Merge 5.11/scsi-fixes into 5.12/scsi-queue and resolve the conflict. Signed-off-by: Martin K. Petersen --- 4d82e9db422ec34793650a34c5f03edd7b0abbaf diff --cc drivers/scsi/ufs/Kconfig index d0d7ead99eaa3,b915b38c2b277..07cf415367b43 --- a/drivers/scsi/ufs/Kconfig +++ b/drivers/scsi/ufs/Kconfig @@@ -72,11 -72,12 +72,12 @@@ config SCSI_UFS_DWC_TC_PC config SCSI_UFSHCD_PLATFORM tristate "Platform bus based UFS Controller support" depends on SCSI_UFSHCD + depends on HAS_IOMEM help - This selects the UFS host controller support. Select this if - you have an UFS controller on Platform bus. + This selects the UFS host controller support. Select this if + you have an UFS controller on Platform bus. - If you have a controller with this interface, say Y or M here. + If you have a controller with this interface, say Y or M here. If unsure, say N. diff --cc drivers/scsi/ufs/ufshcd.c index 36bcbb38f631a,fb32d122f2e38..f0700a36379da --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@@ -6036,7 -6003,10 +6039,10 @@@ skip_err_handling spin_unlock_irqrestore(hba->host->host_lock, flags); ufshcd_scsi_unblock_requests(hba); ufshcd_err_handling_unprepare(hba); - up(&hba->eh_sem); + up(&hba->host_sem); + + if (!err && needs_reset) + ufshcd_clear_ua_wluns(hba); } /** @@@ -7947,9 -7927,8 +7959,7 @@@ out */ if (ret) { pm_runtime_put_sync(hba->dev); - ufshcd_exit_clk_scaling(hba); ufshcd_hba_exit(hba); - } else { - ufshcd_clear_ua_wluns(hba); } } @@@ -8800,11 -8781,11 +8810,12 @@@ set_dev_active if (!ufshcd_set_dev_pwr_mode(hba, UFS_ACTIVE_PWR_MODE)) ufshcd_disable_auto_bkops(hba); enable_gating: - if (hba->clk_scaling.is_allowed) - ufshcd_resume_clkscaling(hba); + if (ufshcd_is_clkscaling_supported(hba)) + ufshcd_clk_scaling_suspend(hba, false); + hba->clk_gating.is_suspended = false; hba->dev_info.b_rpm_dev_flush_capable = false; + ufshcd_clear_ua_wluns(hba); ufshcd_release(hba); out: if (hba->dev_info.b_rpm_dev_flush_capable) {