Merge "Change requested in launchpad bug #1288352" into 5.0
[packages/centos6/qemu.git] / 0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch
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
5
6 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
7 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
8 ---
9  hw/usb/redirect.c | 21 +++++++++++----------
10  1 file changed, 11 insertions(+), 10 deletions(-)
11
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);
18  }
19  
20 +static void usbredir_reject_device(USBRedirDevice *dev)
21 +{
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);
26 +    }
27 +}
28 +
29  static void usbredir_do_attach(void *opaque)
30  {
31      USBRedirDevice *dev = opaque;
32  
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);
38 -        }
39 +        usbredir_reject_device(dev);
40      }
41  }
42  
43 @@ -1008,11 +1013,7 @@ static int usbredir_check_filter(USBRedirDevice *dev)
44      return 0;
45  
46  error:
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);
51 -    }
52 +    usbredir_reject_device(dev);
53      return -1;
54  }
55  
56 -- 
57 1.7.12.1
58