]> git.ipfire.org Git - thirdparty/qemu.git/commit
scsi: megasas: Internal cdbs have 16-byte length
authorGuenter Roeck <linux@roeck-us.net>
Tue, 28 Feb 2023 17:11:29 +0000 (09:11 -0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Tue, 3 Dec 2024 06:22:01 +0000 (09:22 +0300)
commitef780ee7658297c4e2b85a63a00ea524bd81c014
treeb03ace3a66382406e658a764d6d867d1180ee6bd
parent686ece6ad46e98a98e13110e17c47c1fa5d3ac57
scsi: megasas: Internal cdbs have 16-byte length

Host drivers do not necessarily set cdb_len in megasas io commands.
With commits 6d1511cea0 ("scsi: Reject commands if the CDB length
exceeds buf_len") and fe9d8927e2 ("scsi: Add buf_len parameter to
scsi_req_new()"), this results in failures to boot Linux from affected
SCSI drives because cdb_len is set to 0 by the host driver.
Set the cdb length to its actual size to solve the problem.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Link: https://lore.kernel.org/r/20230228171129.4094709-1-linux@roeck-us.net
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 3abb67323aeecf06a27191076ab50424ec21f334)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/scsi/megasas.c