diff options
Diffstat (limited to 'tools/usb')
-rw-r--r-- | tools/usb/ffs-test.c | 2 | ||||
-rw-r--r-- | tools/usb/testusb.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c index 4b107b5e623f..8674b9ec14f6 100644 --- a/tools/usb/ffs-test.c +++ b/tools/usb/ffs-test.c @@ -297,7 +297,7 @@ static void *start_thread_helper(void *arg) ret = t->in(t, t->buf, t->buf_size); if (ret > 0) { - ret = t->out(t, t->buf, t->buf_size); + ret = t->out(t, t->buf, ret); name = out_name; op = "write"; } else { diff --git a/tools/usb/testusb.c b/tools/usb/testusb.c index 6e0f56701e44..82d7c590c026 100644 --- a/tools/usb/testusb.c +++ b/tools/usb/testusb.c @@ -358,6 +358,7 @@ static const char *usbfs_dir_find(void) { static char usbfs_path_0[] = "/dev/usb/devices"; static char usbfs_path_1[] = "/proc/bus/usb/devices"; + static char udev_usb_path[] = "/dev/bus/usb"; static char *const usbfs_paths[] = { usbfs_path_0, usbfs_path_1 @@ -376,6 +377,10 @@ static const char *usbfs_dir_find(void) } } while (++it != end); + /* real device-nodes managed by udev */ + if (access(udev_usb_path, F_OK) == 0) + return udev_usb_path; + return NULL; } |