X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=libusb%2Fos%2Flinux_udev.c;h=d079c7993f6346b3b0fc1314f831339380768620;hb=aaff15d48d1b8555aabf012b06bf39bf8aa4768a;hp=c97806ba6b16f7ae12f2281df197552553308826;hpb=e5ec22e6ad951f99c1b576417480b8e598a84ad0;p=platform%2Fupstream%2Flibusb.git diff --git a/libusb/os/linux_udev.c b/libusb/os/linux_udev.c index c97806b..d079c79 100644 --- a/libusb/os/linux_udev.c +++ b/libusb/os/linux_udev.c @@ -20,27 +20,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include +#include "libusbi.h" +#include "linux_usbfs.h" -#include -#include -#include #include #include +#include #include -#include -#include +#include #include -#include -#include -#include -#include -#include #include -#include - -#include "libusbi.h" -#include "linux_usbfs.h" /* udev context */ static struct udev *udev_ctx = NULL; @@ -86,12 +75,12 @@ int linux_udev_start_event_monitor(void) /* Make sure the udev file descriptor is marked as CLOEXEC */ r = fcntl(udev_monitor_fd, F_GETFD); if (r == -1) { - usbi_err(NULL, "geting udev monitor fd flags (%d)", errno); + usbi_err(NULL, "failed to get udev monitor fd flags, errno=%d", errno); goto err_free_monitor; } if (!(r & FD_CLOEXEC)) { if (fcntl(udev_monitor_fd, F_SETFD, r | FD_CLOEXEC) == -1) { - usbi_err(NULL, "setting udev monitor fd flags (%d)", errno); + usbi_err(NULL, "failed to set udev monitor fd flags, errno=%d", errno); goto err_free_monitor; } } @@ -101,12 +90,12 @@ int linux_udev_start_event_monitor(void) * so make sure this is set */ r = fcntl(udev_monitor_fd, F_GETFL); if (r == -1) { - usbi_err(NULL, "getting udev monitor fd status flags (%d)", errno); + usbi_err(NULL, "failed to get udev monitor fd status flags, errno=%d", errno); goto err_free_monitor; } if (!(r & O_NONBLOCK)) { if (fcntl(udev_monitor_fd, F_SETFL, r | O_NONBLOCK) == -1) { - usbi_err(NULL, "setting udev monitor fd status flags (%d)", errno); + usbi_err(NULL, "failed to set udev monitor fd status flags, errno=%d", errno); goto err_free_monitor; } } @@ -232,7 +221,7 @@ static int udev_device_info(struct libusb_context *ctx, int detached, } return linux_get_device_address(ctx, detached, busnum, devaddr, - dev_node, *sys_name); + dev_node, *sys_name, -1); } static void udev_hotplug_event(struct udev_device* udev_dev) @@ -262,6 +251,8 @@ static void udev_hotplug_event(struct udev_device* udev_dev) linux_hotplug_enumerate(busnum, devaddr, sys_name); } else if (detached) { linux_device_disconnected(busnum, devaddr); + } else if (strncmp(udev_action, "bind", 4) == 0) { + /* silently ignore "known unhandled" action */ } else { usbi_err(NULL, "ignoring udev action %s", udev_action); }