Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley: "Two small fixes, the drivers one in ufs simply delays running a work queue and the generic one in zoned storage switches to a more correct API that tries the standard buddy allocator first (for small allocations); this fixes an allocation problem with small allocations seen under memory pressure" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: ufs: core: Start the RTC update work later scsi: sd_zbc: Use kvzalloc() to allocate REPORT ZONES buffer
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -8636,6 +8636,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);
|
||||
|
||||
@@ -8795,8 +8803,6 @@ static int ufshcd_device_init(struct ufs_hba *hba, bool init_dev_params)
|
||||
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));
|
||||
|
||||
/* Gear up to HS gear if supported */
|
||||
if (hba->max_pwr_info.is_valid) {
|
||||
|
||||
Reference in New Issue
Block a user