summaryrefslogtreecommitdiff
path: root/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-interface.c
blob: 87d13b4d7f3e70b273bc9a5c47d11e51cd7932a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- hald/freebsd/probing/probe-usb2-interface.c.orig	2009-08-24 08:42:29.000000000 -0400
+++ hald/freebsd/probing/probe-usb2-interface.c	2012-04-01 19:36:25.000000000 -0400
@@ -58,11 +58,11 @@ main(int argc, char **argv)
   if (pbe == NULL)
     goto end;
 
-  busstr = getenv("HAL_PROP_USB_DEVICE_BUS_NUMBER");
+  busstr = getenv("HAL_PROP_USB_BUS_NUMBER");
   if (! busstr)
     goto end;
 
-  addrstr = getenv("HAL_PROP_USB_DEVICE_PORT_NUMBER");
+  addrstr = getenv("HAL_PROP_USB_PORT_NUMBER");
   if (! addrstr)
     goto end;
 
@@ -93,7 +93,10 @@ main(int argc, char **argv)
       curr_config = libusb20_dev_get_config_index(pdev);
       pcfg = libusb20_dev_alloc_config(pdev, curr_config);
       if (! pcfg)
-        continue;
+        {
+          libusb20_dev_close(pdev);
+          continue;
+        }
 
       pif = pcfg->interface + iface;
 
@@ -129,6 +132,7 @@ main(int argc, char **argv)
 	    }
 	}
 
+      libusb20_dev_close(pdev);
       free(pcfg);
     }