From: hkran <hkran@linux.vnet.ibm.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/3] usb-hub: wakeup on attach
Date: Thu, 10 Nov 2011 11:45:23 +0800 [thread overview]
Message-ID: <4EBB48D3.8030404@linux.vnet.ibm.com> (raw)
In-Reply-To: <1320159390-29797-2-git-send-email-kraxel@redhat.com>
On 11/01/2011 10:56 PM, Gerd Hoffmann wrote:
> When attaching a new device we must send a wakeup request to the root
> hub, otherwise the guest will not notice the new device in case the
> usb hub is suspended.
>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>
> ---
> hw/usb-hub.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/hw/usb-hub.c b/hw/usb-hub.c
> index 09c6516..7b47079 100644
> --- a/hw/usb-hub.c
> +++ b/hw/usb-hub.c
> @@ -163,6 +163,7 @@ static void usb_hub_attach(USBPort *port1)
> } else {
> port->wPortStatus&= ~PORT_STAT_LOW_SPEED;
> }
> + usb_wakeup(&s->dev);
> }
>
> static void usb_hub_detach(USBPort *port1)
It seems "attach" works. But the "detach" did not work.
I added over two usbdevice "tablet" and usb_del them. I found sometimes
the guest did not know that the tablet had been deleted in host when the
port
's status changed to "suspend".
After I add usb_wake like this in the function usb_hub_detach. the
problem can be fixed.
static void usb_hub_detach(USBPort *port1)
{
USBHubState *s = port1->opaque;
USBHubPort *port = &s->ports[port1->index];
usb_wakeup(&s->dev);
---------------------------------->wakeup when detach
/* Let upstream know the device on this port is gone */
s->dev.port->ops->child_detach(s->dev.port, port1->dev);
port->wPortStatus &= ~PORT_STAT_CONNECTION;
port->wPortChange |= PORT_STAT_C_CONNECTION;
if (port->wPortStatus & PORT_STAT_ENABLE) {
port->wPortStatus &= ~PORT_STAT_ENABLE;
port->wPortChange |= PORT_STAT_C_ENABLE;
}
}
next prev parent reply other threads:[~2011-11-10 3:45 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-01 14:56 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
2011-11-01 14:56 ` [Qemu-devel] [PATCH 1/3] usb-hub: wakeup on attach Gerd Hoffmann
2011-11-02 9:38 ` hkran
2011-11-02 12:56 ` Gerd Hoffmann
2011-11-03 6:01 ` hkran
2011-11-03 8:41 ` Gerd Hoffmann
2011-11-03 9:20 ` hkran
2011-11-10 3:45 ` hkran [this message]
2011-11-22 12:23 ` Gerd Hoffmann
2011-11-01 14:56 ` [Qemu-devel] [PATCH 2/3] usb: change VID/PID for usb-hub and usb-msd to prevent conflict Gerd Hoffmann
2011-11-01 15:29 ` Andreas Färber
2011-11-01 15:40 ` Gerd Hoffmann
2011-11-01 14:56 ` [Qemu-devel] [PATCH 3/3] usb-host: fix host close Gerd Hoffmann
2011-11-01 18:13 ` [Qemu-devel] [PULL] usb patch queue Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EBB48D3.8030404@linux.vnet.ibm.com \
--to=hkran@linux.vnet.ibm.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.