[Query] USB device autosuspend and its runtime usage count.

From: Anshuman Gupta
Date: Mon Aug 13 2018 - 02:48:04 EST


Hi ,
I need to test a functionality with USB autosuspend with latest kernel
Linux 4.18-rc8. I am trying to autosuspend a USB key board, i enabled
its autosuspend by doing echo "auto" to its "control" attributes.
I am expecting USB keyboard to go to autosuspend after autosuspend_delay_ms.
But USB key board is not going to autosuspend because its runtime usage
count is not equal to zero.

Below are the log snippets:

root@intel-Kabylake-Client-platform:# cat /sys/bus/usb/devices/1-5/power/runtime_enabled
enabled
root@intel-Kabylake-Client-platform:# cat /sys/bus/usb/devices/1-5/power/control
auto
root@intel-Kabylake-Client-platform:# cat /sys/bus/usb/devices/1-5/power/autosuspend_delay_ms
2000
root@intel-Kabylake-Client-platform:# cat /sys/bus/usb/devices/1-5/power/runtime_status
active
root@intel-Kabylake-Client-platform:# cat /sys/bus/usb/devices/1-5/power/runtime_usage
1
root@intel-Kabylake-Client-platform:# sleep 60; cat /sys/bus/usb/devices/1-5/power/runtime_usage
1

My USB keyboard runtime usage reference count is not decreasing to zero.
Here am i missing something regarding runtime usage count or is it some issue with
my kernel or OS?

Thanks,
Anshuman Gupta.