udev: avoid autosuspend of USB input devices
Some of the external USB devices has internal USB hub, which make them look like "fixed" rather than "removable". And USB autosuspend does not work with some of these devices resulting in inoperable pointing device. Now the code detect these false "fixed" devices by looking at their parents. If any of their parent is "removable", then USB autosuspend is not enabled for that device, which keeps the pointing device functional. Fixes bug: [YOCTO #5166] (From OE-Core rev: d74a0ecdbc85a482cab6e7eae8dcb48185d44d84) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
9592f311b0
commit
b925c752c0
|
@ -17,6 +17,7 @@ RPROVIDES_${PN} = "hotplug"
|
|||
|
||||
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
|
||||
file://0001-Fixing-keyboard_force_release.sh-shell-script-path.patch \
|
||||
file://avoid-mouse-autosuspend.patch \
|
||||
file://run.rules \
|
||||
file://udev.rules \
|
||||
file://devfs-udev.rules \
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
Source: http://cgit.freedesktop.org/systemd/systemd/commit/rules/42-usb-hid-pm.rules?id=e0386cf2809219bbdd30895f46f1f567b56902b6
|
||||
|
||||
Some USB ports on external hubs may be reported as "fixed". We only want
|
||||
to auto-enable this on ports that are internal to the machine, so check
|
||||
the parent state as well.
|
||||
|
||||
Upstream-Status: backport
|
||||
|
||||
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||
2013/09/13
|
||||
|
||||
Index: udev-182/rules/42-usb-hid-pm.rules
|
||||
===================================================================
|
||||
--- udev-182.orig/rules/42-usb-hid-pm.rules
|
||||
+++ udev-182/rules/42-usb-hid-pm.rules
|
||||
@@ -46,4 +46,9 @@ ACTION=="add", SUBSYSTEM=="usb", ATTRS{i
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
|
||||
|
||||
# USB HID devices that are internal to the machine should also be safe to autosuspend
|
||||
+# And skip it for devices which are external but say "fixed"
|
||||
+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
|
||||
+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
|
||||
+LABEL="usb_hid_pm_end"
|
||||
+
|
Loading…
Reference in New Issue