Message ID | 1332765150-16810-1-git-send-email-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
Hi, Oh, good one: Acked-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans On 03/26/2012 02:32 PM, Gerd Hoffmann wrote: > Looks like a cut+paste bug from ehci_detach. When the device itself is > detached from a ehci port (ehci_detach op) we have to clear the > device pointer for the companion port too. When a device gets removed > from a downstream port of a usb hub (ehci_child_detach op) the ehci port > where the usb hub is plugged in is not affected. > > Signed-off-by: Gerd Hoffmann<kraxel@redhat.com> > --- > hw/usb/hcd-ehci.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c > index 60f9f5b..34f7538 100644 > --- a/hw/usb/hcd-ehci.c > +++ b/hw/usb/hcd-ehci.c > @@ -797,7 +797,6 @@ static void ehci_child_detach(USBPort *port, USBDevice *child) > if (portsc& PORTSC_POWNER) { > USBPort *companion = s->companion_ports[port->index]; > companion->ops->child_detach(companion, child); > - companion->dev = NULL; > return; > } >
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index 60f9f5b..34f7538 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -797,7 +797,6 @@ static void ehci_child_detach(USBPort *port, USBDevice *child) if (portsc & PORTSC_POWNER) { USBPort *companion = s->companion_ports[port->index]; companion->ops->child_detach(companion, child); - companion->dev = NULL; return; }
Looks like a cut+paste bug from ehci_detach. When the device itself is detached from a ehci port (ehci_detach op) we have to clear the device pointer for the companion port too. When a device gets removed from a downstream port of a usb hub (ehci_child_detach op) the ehci port where the usb hub is plugged in is not affected. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/usb/hcd-ehci.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)