1 From 596013354fd1d5b102cdb54449b10e11346f9fda Mon Sep 17 00:00:00 2001
2 From: Hans de Goede <hdegoede@redhat.com>
3 Date: Mon, 3 Sep 2012 11:53:28 +0200
4 Subject: [PATCH] usb-redir: Add a usbredir_reject_device helper function
6 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
9 hw/usb/redirect.c | 21 +++++++++++----------
10 1 file changed, 11 insertions(+), 10 deletions(-)
12 diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
13 index b9a3633..a590cb2 100644
14 --- a/hw/usb/redirect.c
15 +++ b/hw/usb/redirect.c
16 @@ -820,16 +820,21 @@ static void usbredir_chardev_open(USBRedirDevice *dev)
17 usbredirparser_do_write(dev->parser);
20 +static void usbredir_reject_device(USBRedirDevice *dev)
22 + usbredir_device_disconnect(dev);
23 + if (usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_filter)) {
24 + usbredirparser_send_filter_reject(dev->parser);
25 + usbredirparser_do_write(dev->parser);
29 static void usbredir_do_attach(void *opaque)
31 USBRedirDevice *dev = opaque;
33 if (usb_device_attach(&dev->dev) != 0) {
34 - usbredir_device_disconnect(dev);
35 - if (usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_filter)) {
36 - usbredirparser_send_filter_reject(dev->parser);
37 - usbredirparser_do_write(dev->parser);
39 + usbredir_reject_device(dev);
43 @@ -1008,11 +1013,7 @@ static int usbredir_check_filter(USBRedirDevice *dev)
47 - usbredir_device_disconnect(dev);
48 - if (usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_filter)) {
49 - usbredirparser_send_filter_reject(dev->parser);
50 - usbredirparser_do_write(dev->parser);
52 + usbredir_reject_device(dev);