summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch')
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch b/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
new file mode 100644
index 0000000000..ed15fd5a1b
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
@@ -0,0 +1,33 @@
1# Signed-off-by: Khem Raj <raj.khem@gmail.com>
2#
3# Use the new usb1 API for usb_init() and check for fails from
4# usb_init (). Currently we see a crash on a system which does
5# not have USB because usb_init() fails and it cleans up all initialized
6# data (e.g. ctx) which is used in subsequent calls to libusb
7# We return immediately if usb_init() fails for some reason.
8
9Index: bluez-4.24/tools/hid2hci.c
10===================================================================
11--- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700
12+++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800
13@@ -337,7 +337,7 @@
14 int main(int argc, char *argv[])
15 {
16 struct device_info dev[16];
17- int i, opt, num, quiet = 0, mode = HCI;
18+ int i, ret, opt, num, quiet = 0, mode = HCI;
19
20 while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) {
21 switch (opt) {
22@@ -361,8 +361,9 @@
23 argc -= optind;
24 argv += optind;
25 optind = 0;
26-
27- usb_init();
28+ ret = libusb_init();
29+ if (ret < 0)
30+ return ret;
31
32 num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0]));
33 if (num <= 0) {