mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:46:16 +00:00
SCSI fixes on 20241030
Two small fixes, both in drivers (ufs and scsi_debug). Signed-off-by: James E.J. Bottomley <James.Bottomley@HansenPartnership.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCZyH+cSYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishVdMAQDdOiaS 9DO+ly/Il64wXZqb9WKcVYRIjmz7m7g5xdMgrgEA1yfD6G7GgQ3zvbVPNC7Y9ecr 4O2iR5EGAVb1Y7UaEQU= =551G -----END PGP SIGNATURE----- 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, both in drivers (ufs and scsi_debug)" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: ufs: core: Fix another deadlock during RTC update scsi: scsi_debug: Fix do_device_access() handling of unexpected SG copy length
This commit is contained in:
commit
4236f91380
@ -3651,7 +3651,7 @@ static int do_device_access(struct sdeb_store_info *sip, struct scsi_cmnd *scp,
|
||||
enum dma_data_direction dir;
|
||||
struct scsi_data_buffer *sdb = &scp->sdb;
|
||||
u8 *fsp;
|
||||
int i;
|
||||
int i, total = 0;
|
||||
|
||||
/*
|
||||
* Even though reads are inherently atomic (in this driver), we expect
|
||||
@ -3688,18 +3688,16 @@ static int do_device_access(struct sdeb_store_info *sip, struct scsi_cmnd *scp,
|
||||
fsp + (block * sdebug_sector_size),
|
||||
sdebug_sector_size, sg_skip, do_write);
|
||||
sdeb_data_sector_unlock(sip, do_write);
|
||||
if (ret != sdebug_sector_size) {
|
||||
ret += (i * sdebug_sector_size);
|
||||
total += ret;
|
||||
if (ret != sdebug_sector_size)
|
||||
break;
|
||||
}
|
||||
sg_skip += sdebug_sector_size;
|
||||
if (++block >= sdebug_store_sectors)
|
||||
block = 0;
|
||||
}
|
||||
ret = num * sdebug_sector_size;
|
||||
sdeb_data_unlock(sip, atomic);
|
||||
|
||||
return ret;
|
||||
return total;
|
||||
}
|
||||
|
||||
/* Returns number of bytes copied or -1 if error. */
|
||||
|
@ -8219,7 +8219,7 @@ static void ufshcd_update_rtc(struct ufs_hba *hba)
|
||||
|
||||
err = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_WRITE_ATTR, QUERY_ATTR_IDN_SECONDS_PASSED,
|
||||
0, 0, &val);
|
||||
ufshcd_rpm_put_sync(hba);
|
||||
ufshcd_rpm_put(hba);
|
||||
|
||||
if (err)
|
||||
dev_err(hba->dev, "%s: Failed to update rtc %d\n", __func__, err);
|
||||
|
Loading…
Reference in New Issue
Block a user