module-udev-detect : Consider possibility of no parent-device subsystem 26/56826/2 accepted/tizen/ivi/20160218.025840 accepted/tizen/mobile/20160114.011614 accepted/tizen/tv/20160114.011635 accepted/tizen/wearable/20160114.011655 submit/tizen/20160113.071230 submit/tizen_common/20160218.142243 submit/tizen_ivi/20160217.000000 submit/tizen_ivi/20160217.000007
authorMok Jeongho <jho.mok@samsung.com>
Wed, 13 Jan 2016 02:27:12 +0000 (11:27 +0900)
committerMok Jeongho <jho.mok@samsung.com>
Wed, 13 Jan 2016 03:46:51 +0000 (12:46 +0900)
[Version] 5.0-56
[Profile] Common
[Issue Type] Fix Bug

Change-Id: I3e1e091c111518cd2373b043f81074ae5c2eb863

packaging/pulseaudio.spec
src/modules/module-udev-detect.c

index 75e0177..0029aa5 100644 (file)
@@ -10,7 +10,7 @@
 Name:             pulseaudio
 Summary:          Improved Linux sound server
 Version:          5.0
-Release:          55
+Release:          56
 Group:            Multimedia/Audio
 License:          LGPL-2.1+
 URL:              http://pulseaudio.org
index 1e8fb06..02fc750 100644 (file)
@@ -474,9 +474,15 @@ static void process_device(struct userdata *u, struct udev_device *dev) {
     pa_log_debug ("parent subsystem = %s", udev_device_get_subsystem(udev_device_get_parent(dev)));
 
 #ifdef ENABLE_UDEV_ONLY_USB
-    /* If parent's subsystem is not USB, return */
-    if (!pa_streq(udev_device_get_subsystem(udev_device_get_parent(dev)), "usb")) {
-        pa_log_debug("Ignoring %s, because it's parent subsystem is not a USB.", udev_device_get_devpath(dev));
+    if (udev_device_get_subsystem(udev_device_get_parent(dev))) {
+        /* If parent's subsystem is not USB, return */
+        if (!pa_streq(udev_device_get_subsystem(udev_device_get_parent(dev)), "usb")) {
+            pa_log_debug("Ignoring %s, because it's parent subsystem is not a USB.", udev_device_get_devpath(dev));
+            return;
+        }
+    } else if(!strstr(udev_device_get_devpath(dev), "usb")) {
+        /* If there is no parent subsystem, we detemine this with devpath */
+        pa_log_debug("Ignoring %s, because it's devpath is not under usb.", udev_device_get_devpath(dev));
         return;
     }
 #endif