usb-storage uses SCSI bus to provide underling storage
(i.e. scsi-disk) and it's hotpluggable. In addition
during usb-storage hotplug bus_add_child() won't allow
to add scsi-disk to SCSI bus owned by usb-storage
if bus is not hotpluggable.

By default SCSI bus was alway hotpluggable even if
an owner didn't support hotplug. It will change
once BusState.allow_hotplug field is dropped and
SCSI bus will be only hotpluggable only if bus owner
implements HOTPLUG_HANDLER interface.

So make usb-storage implement HOTPLUG_HANDLER interface
to keep its SCSI bus hotpluggable.

Signed-off-by: Igor Mammedov <imamm...@redhat.com>
---
 hw/usb/dev-storage.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index bfa71c7..4ad4ec7 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -779,6 +779,10 @@ static const TypeInfo msd_info = {
     .parent        = TYPE_USB_DEVICE,
     .instance_size = sizeof(MSDState),
     .class_init    = usb_msd_class_initfn_storage,
+    .interfaces = (InterfaceInfo[]) {
+        { TYPE_HOTPLUG_HANDLER },
+        { }
+    }
 };
 
 static const TypeInfo bot_info = {
-- 
1.8.3.1


Reply via email to