mirror of https://github.com/xemu-project/xemu.git
hw/usb/hcd-xhci: Reset the XHCIState with device_cold_reset()
Currently the hcd-xhci-pci and hcd-xhci-sysbus devices, which are mostly wrappers around the TYPE_XHCI device, which is a direct subclass of TYPE_DEVICE. Since TYPE_DEVICE devices are not on any qbus and do not get automatically reset, the wrapper devices both reset the TYPE_XHCI device in their own reset functions. However, they do this using device_legacy_reset(), which will reset the device itself but not any bus it has. Switch to device_cold_reset(), which avoids using a deprecated function and also propagates reset along any child buses. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20221014145423.2102706-1-peter.maydell@linaro.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
64f1359bd0
commit
1dfb7a175f
|
@ -85,7 +85,7 @@ static void xhci_pci_reset(DeviceState *dev)
|
|||
{
|
||||
XHCIPciState *s = XHCI_PCI(dev);
|
||||
|
||||
device_legacy_reset(DEVICE(&s->xhci));
|
||||
device_cold_reset(DEVICE(&s->xhci));
|
||||
}
|
||||
|
||||
static int xhci_pci_vmstate_post_load(void *opaque, int version_id)
|
||||
|
|
|
@ -29,7 +29,7 @@ void xhci_sysbus_reset(DeviceState *dev)
|
|||
{
|
||||
XHCISysbusState *s = XHCI_SYSBUS(dev);
|
||||
|
||||
device_legacy_reset(DEVICE(&s->xhci));
|
||||
device_cold_reset(DEVICE(&s->xhci));
|
||||
}
|
||||
|
||||
static void xhci_sysbus_realize(DeviceState *dev, Error **errp)
|
||||
|
|
Loading…
Reference in New Issue