History log of /system/core/libusbhost/usbhost.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
96c59d848a491c6b3aaaf2f78c17e9b54cd2071c 27-Oct-2016 Philip P. Moltmann <moltmann@google.com> Merge "usblib: Wrap USBDEVFS_REAPURBNDELAY ioctl"
3695285d5d743190ed88f982b0c531066e68b686 18-Oct-2016 Philip P. Moltmann <moltmann@google.com> usblib: Wrap USBDEVFS_REAPURBNDELAY ioctl

Test: Test is submitted alongside this change
Bug: 31288102
Change-Id: I99311879150ef3f647c65205b35254736dde6de7
/system/core/libusbhost/usbhost.c
dfd21b89f28bd8a6d4acdc05b74fbd03bb844f48 14-Oct-2016 Vitalii Tomkiv <vitalit@google.com> Add timeout to usb_device_control_transfer call in usbhost code.

usb_device_control_transfer used to use "0" value in control_transfer
call which resulted in unlimited timeout. In case of bad USB devices
connected it resulted in usbhost stuck state.

Bug: 31923641
Test: manual run and test with bad devices.
Change-Id: I4a2a691a6d83107f72ba506522c932085bd09624
/system/core/libusbhost/usbhost.c
9879bb2ba28891cb2a4231c39ea2d5d2da730be7 20-Sep-2016 Philip P. Moltmann <moltmann@google.com> usb-bulk-transfer: Clarify sign-iy-ness of param

Parameter is implicily converted to unsigned when assigned to the struct,
so make sure users are aware of this.

Test: compiled
Change-Id: I25ca6b24591497aa4e7ce8db262ce1099c2b7b09
/system/core/libusbhost/usbhost.c
f6411fa1ecf3a87ce78800660752f57ba9b67836 13-Jan-2016 Keun-young Park <keunyoung@google.com> libusbhost: add usb_device_reset

bug: 26404209
Change-Id: I8f307d6683afe70fe334746f5be2856b79782493
/system/core/libusbhost/usbhost.c
0dd1aab7b5184f41ec838def8493d16cfe70b739 18-Jun-2015 Mike Lockwood <lockwood@google.com> libusbhost: Fix problem reading USB string descriptors on some quirky devices

Some devices fail to send USB string descriptors if you attempt to read more
than 255 bytes

Bug: 21871761
Change-Id: Id5b8865179f80523f0ad5b6028d49dd99db2b36b
/system/core/libusbhost/usbhost.c
f68600abfc7f1e2d64a4737630feea43bdaa85dc 29-Apr-2015 Mike Lockwood <lockwood@google.com> libusbhost: Add usb_device_get_version()

Change-Id: If2161178e9fe94a94faf01c102ef64f2a72d093b
/system/core/libusbhost/usbhost.c
754358aa80610b9d969a91b5cf96206b7a0b5153 12-Aug-2014 Badhri Jagan Sridharan <badhri@google.com> am 0d8943c2: am e4c5b614: Merge "libusbhost: Fix IOCTL call during usb_request_cancel"

* commit '0d8943c252a21390c63a16ae0f9f1459c3212163':
libusbhost: Fix IOCTL call during usb_request_cancel
ef4087bf2b20dfa44c7e33c1544d29cfdcd656e7 06-Aug-2014 Badhri Jagan Sridharan <badhri@google.com> libusbhost: Fix IOCTL call during usb_request_cancel

USBDEVFS_DISCARDURB IOCTL call expects a pointer to the
the urb structure to be passed from userspace. LibusbHost
instead sends usbdevfs_urb**. Change this to usbdevfs_urb*.

Fixes Issue: https://code.google.com/p/android/issues/detail?id=74530

Change-Id: Ifb8a13857e1a9f62536f2a07c0965e9c419b7d4c
/system/core/libusbhost/usbhost.c
585ca2a3de439751999eedb2d8ede2ce5cf59a0e 02-May-2014 JP Abgrall <jpa@google.com> am 0a90004b: am cae898ac: am 3754791d: Merge "libusbhost: Fix issue of multiple inotify event at same time."

* commit '0a90004be8aba909391b25643ba943db76660fe4':
libusbhost: Fix issue of multiple inotify event at same time.
3c1d7b34c151ec1669e0d190a0839718242682c9 21-Jan-2014 Bo Huang <bo.b.huang@intel.com> libusbhost: Fix issue of multiple inotify event at same time.

libusbhost can handle multiple inotify events at same time on Kit kat.
In original implementation, the function-level ret is assigned with
length of read and used for while loop.
if want to add a new watch for subdirectory,inotify_add_watch will
update the function-level ret with watch descriptor.
It impact on while loop to do exit.

Add local result to avoid it.

Change-Id: I101041ccfd54eaac14969a45e90ab2e49bdff578
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
/system/core/libusbhost/usbhost.c
d2e798b53039f35967705acd5f6c399742f97e72 13-Jan-2014 Mike Lockwood <lockwood@google.com> libusbhost: Add usb_device_set_configuration and usb_device_set_interface

usb_device_set_configuration is to support devices with multiple configurations
usb_device_set_interface supports switching between interfaces with alternate settings

Also moved zero string index checking to usb_device_get_string

Change-Id: I34610b25f135894a0cf752a33e5738d4314d7122
/system/core/libusbhost/usbhost.c
8cc80fc8944142c610c5816ced4f0d0518b3922f 07-Aug-2013 Ziv Hendel <ziv@primesense.com> libusbhost: It's no longer assumed that "bus/usb" exists once "bus" was created

On some devices there is a slight delay between the creation of "/dev/bus"
and "/dev/bus/usb". Previously, the code assumed that both are created in the
same time which caused "watch_existing_subdirs" to fail and libusbhost to stop
working until the device is rebooted. The fix will setup an inotify event on the
creation of the "bus/usb" so it will not be missed once it's created.

Change-Id: I17f06dd167e61573307425e48898e12ebc954093
/system/core/libusbhost/usbhost.c
a306ced1ac383557dabfb38c70e5f5e2a2ec0510 07-Aug-2013 Ziv Hendel <ziv@primesense.com> libusbhost: It's no longer assumed that "bus/usb" exists once "bus" was created

On some devices there is a slight delay between the creation of "/dev/bus"
and "/dev/bus/usb". Previously, the code assumed that both are created in the
same time which caused "watch_existing_subdirs" to fail and libusbhost to stop
working until the device is rebooted. The fix will setup an inotify event on the
creation of the "bus/usb" so it will not be missed once it's created.

Change-Id: I17f06dd167e61573307425e48898e12ebc954093
/system/core/libusbhost/usbhost.c
f75ea8d082ff39e316bd4d73979b610cc4b5e4bc 24-Mar-2013 Ziv Hendel <ziv@primesense.com> Properly handle cases of multiple inotify events

Bug: 8469799
Change-Id: Ie10242dd05becd142cc84651d5e5795e4c02270d
Signed-off-by: Igor Murashkin <iam@google.com>
Signed-off-by: Adam Hampson <ahampson@google.com>
/system/core/libusbhost/usbhost.c
dea46b6657845a366d13f57c720eab28c9062ab7 23-Oct-2012 Guillaume Ranquet <guillaumex.ranquet@intel.com> libusbhost: permits client polling on inotify wd

Modify libusbhost to expose the inotify watch descriptor to clients

This modification permits clients to add the watch descriptor to
their polling loop so that they don't have to use a dedicated
thread only for libusbhost.

Change-Id: I615bfcd56beab978135034b228d4d93337351eab
Signed-off-by: Guillaume Ranquet <guillaumex.ranquet@intel.com>
Signed-off-by: Luc Piguet-Lacroix <lucx.piguet-lacroix@intel.com>
/system/core/libusbhost/usbhost.c
f4de078388242fff9b68c04b122e8a095cab9b0e 02-Aug-2012 Benoit Goby <benoit@android.com> libusbhost: Fix USB device discovery on boot

On some devices, /dev/bus/usb does not exist on boot, it is only created
when the otg port is in host mode. Use inotify to detect when /dev/bus/usb
is created and then start watching subdirectories.

Change-Id: Ic1472a5ea7a7118cdbb560cc7071ade9bcee753a
/system/core/libusbhost/usbhost.c
6cc883ca098f34bd126478a6aa19d5cce48d71a9 01-Aug-2012 Benoit Goby <benoit@android.com> libusbhost: Fix possible missed "device added" notification

When a new bus is added, check for existing devices in the bus
directory, since devices may have been added before calling
inotify_add_watch.

Also add missing inotify_rm_watch calls.

Change-Id: Ie69fc995a3e8b18431099b252be86f0054fe5531
/system/core/libusbhost/usbhost.c
8d66c49258ac4f59bd67c23c9c914cca81f85b01 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

Bug: 5449033
Change-Id: I9244d927f14c750cd359ebffb1fc1c355a755d5a
/system/core/libusbhost/usbhost.c
c4c00d8e6a215020be87f6702844267e105e1f0e 12-Mar-2011 Mike Lockwood <lockwood@android.com> libusbhost: Limit bulk transfer requests to 16384 bytes

Otherwise the kernel will return an EINVAL error

Change-Id: I906472a4128eb26c5be7865142bc4a52464cf5f8
Bug: 4065217

Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
b5d68a3c28d0b7a947373344cbda2a2369d0b67d 14-Feb-2011 Mike Lockwood <lockwood@android.com> libusbhost: Save endpoint ID in usb_request struct

Change-Id: I2cf189cee67c2efbcf919c8bae1447a6cb112f02
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
120b57a3d9703bccba534af335aa94dd3a41be2f 27-Jan-2011 Mike Lockwood <lockwood@android.com> libusbhost: Add call for synchronous bulk transfers

Also clean up and add timeout to control request transfer

Change-Id: Ibc2d8ac64d0fa90e0a23e6225ce2c49b23bb0d97
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
ec9e7b1c1844e66c39a4f63ded8208c1717380f8 22-Jan-2011 Mike Lockwood <lockwood@android.com> libusbhost: Add usb_device_connect_kernel_driver()

This can be used to ask the kernel to disconnect its driver for a device
so usb_device_claim_interface() can claim it instead.

Also increased size of descriptor buffer and added some debugging logs

Change-Id: I4945196d957fb8493716eb9b7e5463c06b168ef1
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
e533c5f1005e8913f577d2aeac5a26f88f55a249 05-Jan-2011 Mike Lockwood <lockwood@android.com> libusbhost: Support for multiple pending requests on a single endpoint

Add new usb_request struct to replace usb_endpoint, which is no longer needed.

Change-Id: Ia3637b3431a3597caced41bfec677ef0b044a453
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
7d700f8bdce747a26e3ee4737683194d77286ba3 29-Dec-2010 Mike Lockwood <lockwood@android.com> libusbhost: Add usb_device_get_name_from_unique_id()

This allows converting from unique IDs to USB device names

Change-Id: I8e3b300790c01383aed8e3d4f547b54bcb7c2cd4
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
93aff72d9b469f4b77468bab654cd65243b662e6 15-Dec-2010 Mike Lockwood <lockwood@android.com> libusbhost: Fix breakage due to not storing dev_name in struct usb_device

Change-Id: Iefac9b31f900edb2dbd594f9eff9113b2038757d
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
50372073d2919480fb32d56cb3b91663b9fca0f1 13-Dec-2010 Mike Lockwood <lockwood@android.com> libusbhost: Add accessor for the USB device descriptor

Change-Id: Ic3a54e2a06f3b4fa72f99b64025a911fbf525daf
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
cd185f23cc6f062b252d1d19bca55e721290ee62 12-Dec-2010 Mike Lockwood <lockwood@android.com> libusbhost: Add support for creating a usb_device struct from an existing fd

We will use this for sharing USB file descriptors across address spaces via Binder

Change-Id: Iadbd3e0a4178f79d1d778fdfd5175f6fe0e2aaf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
07eb4af174f31c449a86dd459e2c81702f74acf1 28-Jul-2010 Mike Lockwood <lockwood@android.com> libusbhost: add usb_device_get_unique_id_from_name()

Change-Id: Idce54fc26d0432d4dc46f605623c4960c0e8690f
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
1b7d991b433cf6d6fae4f40cb37f9b6c6043cfbc 24-Jul-2010 Mike Lockwood <lockwood@android.com> libusbhost: Add usb_device_send_control for sending raw commands on endpoint 0.

Change-Id: If883f2690c4031b9ba4d5cf943b5bf5c13193bce
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
e8849d190a3097274dcb64416e564538a1017054 20-Jul-2010 Mike Lockwood <lockwood@android.com> libusbhost: Fix deadlock on devices without USB host support.

Change-Id: Ic91f99d1169fcdc00474dd6a870eb7e614128bc2
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
a805519ceedc53afa5453a6d8a7d80038d885d9f 20-Jul-2010 Mike Lockwood <lockwood@android.com> libusbhost: Add callback to usb_host_run to notify when initial device discovery is done

This can be used to eliminate race conditions in clients that operate immediately
on the currently connected device list.

Signed-off-by: Mike Lockwood <lockwood@android.com>

Change-Id: I14954b9fcc84239950ead6bdc1a0a888882c2226
/system/core/libusbhost/usbhost.c
7a96ba436c9a2bacc64e712bdb53bd7accc5c3a9 01-Jul-2010 Mike Lockwood <lockwood@android.com> libusbhost: The client is now responsible for creating the thread that monitors the bus

This is to allow using a thread that is capable of calling through JNI to Java code
to report USB device attached/removed events.

Change-Id: Ia58592607a2c1f4357b31072044f5db5617d7f5b
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
e15af09876c5e0301084f46b8036aed147cf9c24 10-Jun-2010 Mike Lockwood <lockwood@android.com> libusbhost: Use logcat for debugging when building device library.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
203f102028c4df33c191d8cd610775eba8d5366d 27-May-2010 Mike Lockwood <lockwood@android.com> libusbhost: Added usb_device_get_unique_id

Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
6ac3aa157493ef24bc837b679dd8292fad8961e0 25-May-2010 Mike Lockwood <lockwood@android.com> libusbhost: Remove global data to allow multiple instances in the same process.

Change-Id: I977145f44131ec8b588dd274e0afbc563f3aa4c0
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
5e567cb34b5e54467f501fc9703db82ca6639ff3 12-May-2010 Mike Lockwood <lockwood@android.com> libusbhost: add usb_endpoint_get_device()

Change-Id: Ibe4ce0551faca5d2d8bec0fbd21315a393b9f208
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c
30ff2c70ce05d761e8cb0ab7ee02b39a681fe0cb 09-May-2010 Mike Lockwood <lockwood@android.com> libusbhost: new library for Linux USB host support.

Supports access to Linux usbdevfs on both device and Linux host.

Change-Id: Ie88a5193be3ee715792b10b34b3da32ffc4ca57b
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/libusbhost/usbhost.c