]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
hw/scsi/scsi-generic: Fix io_timeout property not applying
authorLorenz Brun <lorenz@brun.one>
Fri, 15 Mar 2024 14:58:31 +0000 (15:58 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Tue, 9 Apr 2024 17:09:20 +0000 (20:09 +0300)
The io_timeout property, introduced in c9b6609 (part of 6.0) is
silently overwritten by the hardcoded default value of 30 seconds
(DEFAULT_IO_TIMEOUT) in scsi_generic_realize because that function is
being called after the properties have already been applied.

The property definition already has a default value which is applied
correctly when no value is explicitly set, so we can just remove the
code which overrides the io_timeout completely.

This has been tested by stracing SG_IO operations with the io_timeout
property set and unset and now sets the timeout field in the ioctl
request to the proper value.

Fixes: c9b6609b69facad ("scsi: make io_timeout configurable")
Signed-off-by: Lorenz Brun <lorenz@brun.one>
Message-ID: <20240315145831.2531695-1-lorenz@brun.one>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
(cherry picked from commit 7c7a9f578e4fb1adff7ac8d9acaaaedb87474e76)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/scsi/scsi-generic.c

index d5138701810b55544ff135fbb8dd6d1e3b21496c..87d84ee68e78d17549ab728c14aa0dce0ff22a79 100644 (file)
@@ -765,7 +765,6 @@ static void scsi_generic_realize(SCSIDevice *s, Error **errp)
 
     /* Only used by scsi-block, but initialize it nevertheless to be clean.  */
     s->default_scsi_version = -1;
-    s->io_timeout = DEFAULT_IO_TIMEOUT;
     scsi_generic_read_device_inquiry(s);
 }