diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2024-11-20 21:26:59 -0500 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2024-11-20 21:26:59 -0500 |
commit | 8e3b6345d113cc917e64b0349dc486b5d8f55e70 (patch) | |
tree | 7489ad65d6f9ff43b9b251bd8828713684afafcf /drivers | |
parent | 128faa1845a2d5b0178b986f3bd18fb38cc08cc2 (diff) | |
parent | 54c814c8b23bc7617be3d46abdb896937695dbfa (diff) | |
download | lwn-8e3b6345d113cc917e64b0349dc486b5d8f55e70.tar.gz lwn-8e3b6345d113cc917e64b0349dc486b5d8f55e70.zip |
Merge branch '6.12/scsi-fixes' into 6.13/scsi-staging
Pull in the fixes branch to resolve conflict in UFS core.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/sd_zbc.c | 3 | ||||
-rw-r--r-- | drivers/ufs/core/ufshcd.c | 10 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index c8b9654d30f0..a4d17f3da25d 100644 --- a/drivers/scsi/sd_zbc.c +++ b/drivers/scsi/sd_zbc.c @@ -188,8 +188,7 @@ static void *sd_zbc_alloc_report_buffer(struct scsi_disk *sdkp, bufsize = min_t(size_t, bufsize, queue_max_segments(q) << PAGE_SHIFT); while (bufsize >= SECTOR_SIZE) { - buf = __vmalloc(bufsize, - GFP_KERNEL | __GFP_ZERO | __GFP_NORETRY); + buf = kvzalloc(bufsize, GFP_KERNEL | __GFP_NORETRY); if (buf) { *buflen = bufsize; return buf; diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index e338867bc96c..8135a6dad7c6 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -8623,6 +8623,14 @@ static int ufshcd_add_lus(struct ufs_hba *hba) ufshcd_init_clk_scaling_sysfs(hba); } + /* + * The RTC update code accesses the hba->ufs_device_wlun->sdev_gendev + * pointer and hence must only be started after the WLUN pointer has + * been initialized by ufshcd_scsi_add_wlus(). + */ + schedule_delayed_work(&hba->ufs_rtc_update_work, + msecs_to_jiffies(UFS_RTC_UPDATE_INTERVAL_MS)); + ufs_bsg_probe(hba); scsi_scan_host(hba->host); @@ -8717,8 +8725,6 @@ static int ufshcd_post_device_init(struct ufs_hba *hba) ufshcd_force_reset_auto_bkops(hba); ufshcd_set_timestamp_attr(hba); - schedule_delayed_work(&hba->ufs_rtc_update_work, - msecs_to_jiffies(UFS_RTC_UPDATE_INTERVAL_MS)); if (!hba->max_pwr_info.is_valid) return 0; |