diff --git a/dongle.c b/dongle.c
index 2bc9ef9808c27bc86ff112e75a928f35b6e66051..a931f06b82de473bbb37fe8a50c4d0a91b310ab2 100644
--- a/dongle.c
+++ b/dongle.c
@@ -285,12 +285,12 @@ void remove_newline(char *input)
 	*pos = '\0';
 }
 
-char *get_usb_stat(char *path, char *dir, char *stat)
+char *get_usb_stat(char *path, char *file)
 {
 	char stat_path[PATH_MAX], contents[1024];
 	FILE *f;
 
-	snprintf(stat_path, PATH_MAX, "%s/%s/%s", path, dir, stat);
+	snprintf(stat_path, PATH_MAX, "%s%s", path, file);
 	f = fopen(stat_path, "r");
 	if (!f) {
 		perror("fopen");
@@ -417,18 +417,20 @@ int get_devices_from_path(char *input_path)
 			continue;
 		}
 		snprintf(path, PATH_MAX, "%s/", input_path);
+
 		name = get_device_name(path);
 		if (!name)
 			continue;
-		printf("found device inside _from_path %s\n", name);
+
 		dev = (struct device *)calloc(1, sizeof(*dev));
 		if (!dev) {
 			perror("calloc");
 			goto fail_dev;
 		}
-		dev->usb.product = get_usb_stat(input_path, "", "product");
-		dev->usb.product_id = get_usb_stat(input_path, "", "idProduct");
-		dev->usb.vendor_id = get_usb_stat(input_path, "", "idVendor");
+
+		dev->usb.product = get_usb_stat(path, "product");
+		dev->usb.product_id = get_usb_stat(path, "idProduct");
+		dev->usb.vendor_id = get_usb_stat(path, "idVendor");
 		dev->usb.if_name = name;
 		dev->ip = get_device_ip(dev->usb.if_name);
 
@@ -466,12 +468,14 @@ int get_devices(void)
 		if (strstr(de->d_name, ":") || strstr(de->d_name, "usb"))
 			continue;
 		snprintf(product_path, PATH_MAX, "%s%s/product", usb_path, de->d_name);
+
 		memset(&st, 0, sizeof(st));
 		rv = stat(product_path, &st);
 		if (rv < 0) {
 			//perror("stat");
 			continue;
 		}
+
 		snprintf(path, PATH_MAX, "%s%s/", usb_path, de->d_name);
 		name = get_device_name(path);
 		if (!name)
@@ -481,9 +485,10 @@ int get_devices(void)
 			perror("calloc");
 			goto fail_dev;
 		}
-		dev->usb.product = get_usb_stat(usb_path, de->d_name, "product");
-		dev->usb.product_id = get_usb_stat(usb_path, de->d_name, "idProduct");
-		dev->usb.vendor_id = get_usb_stat(usb_path, de->d_name, "idVendor");
+
+		dev->usb.product = get_usb_stat(path, "product");
+		dev->usb.product_id = get_usb_stat(path, "idProduct");
+		dev->usb.vendor_id = get_usb_stat(path, "idVendor");
 		dev->usb.if_name = name;
 		dev->ip = get_device_ip(dev->usb.if_name);
 
diff --git a/dongle.h b/dongle.h
index 4f102189cf723f73129419bb8b4ae44a103549cb..add5d8154d8146884f1e272059b4e3eb41d23744 100644
--- a/dongle.h
+++ b/dongle.h
@@ -35,7 +35,7 @@ void free_usb(struct USB *usb);
 struct device *search_list(char *name);
 char *lexer(char **input, char *delimiter);
 void remove_newline(char *input);
-char *get_usb_stat(char *path, char *dir, char *stat);
+char *get_usb_stat(char *path, char *file);
 char *get_device_name(char *dir_name);
 char *get_device_ip(char *device_name);
 int list_to_blob(struct blob_buf *bb);