diff options
author | Mark Brown <broonie@kernel.org> | 2023-05-23 23:03:49 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-05-23 23:03:49 +0100 |
commit | 90d0d6009c0f6b0693ac58096c655a2df61e0d50 (patch) | |
tree | b076f02b48dc57f295981e27965bb28e571b5cbc /drivers/scsi/storvsc_drv.c | |
parent | 53632462666c378774f7665960f0ab67ac22f77a (diff) | |
parent | 44c026a73be8038f03dbdeef028b642880cf1511 (diff) |
regmap: Merge up v6.4-rc3
Merge up v6.4-rc3 to get fixes which make my CI more stable.
Diffstat (limited to 'drivers/scsi/storvsc_drv.c')
-rw-r--r-- | drivers/scsi/storvsc_drv.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index d9ce379c4d2e..e6bc622954cf 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1780,7 +1780,7 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd) length = scsi_bufflen(scmnd); payload = (struct vmbus_packet_mpb_array *)&cmd_request->mpb; - payload_sz = sizeof(cmd_request->mpb); + payload_sz = 0; if (scsi_sg_count(scmnd)) { unsigned long offset_in_hvpg = offset_in_hvpage(sgl->offset); @@ -1789,10 +1789,10 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd) unsigned long hvpfn, hvpfns_to_add; int j, i = 0, sg_count; - if (hvpg_count > MAX_PAGE_BUFFER_COUNT) { + payload_sz = (hvpg_count * sizeof(u64) + + sizeof(struct vmbus_packet_mpb_array)); - payload_sz = (hvpg_count * sizeof(u64) + - sizeof(struct vmbus_packet_mpb_array)); + if (hvpg_count > MAX_PAGE_BUFFER_COUNT) { payload = kzalloc(payload_sz, GFP_ATOMIC); if (!payload) return SCSI_MLQUEUE_DEVICE_BUSY; |