<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core/libusbhost, branch replicant-10</title>
<subtitle>Fork of system/core
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/'/>
<entry>
<title>Revert "Mark libs as double_loadable"</title>
<updated>2019-03-11T14:10:34+00:00</updated>
<author>
<name>Jooyung Han</name>
<email>jooyung@google.com</email>
</author>
<published>2019-03-11T14:10:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=55063b1444ce2968032855a16b73d42b9586463e'/>
<id>55063b1444ce2968032855a16b73d42b9586463e</id>
<content type='text'>
This reverts commit c62462155483257ba69bc00f2b272e65179c6651.

Reason for revert: These libs are no longer used by libmediandk(aosp/915075)

Change-Id: I5533a3c22263afb21f4053a569c4a646c9766404
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c62462155483257ba69bc00f2b272e65179c6651.

Reason for revert: These libs are no longer used by libmediandk(aosp/915075)

Change-Id: I5533a3c22263afb21f4053a569c4a646c9766404
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark libs as double_loadable</title>
<updated>2019-02-08T02:48:04+00:00</updated>
<author>
<name>Jooyung Han</name>
<email>jooyung@google.com</email>
</author>
<published>2019-01-18T09:10:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=c62462155483257ba69bc00f2b272e65179c6651'/>
<id>c62462155483257ba69bc00f2b272e65179c6651</id>
<content type='text'>
libs(libasyncio libmemtrack libprocinfo libusbhost) have
vendor variants and they are also used by LLNDK(libmediandk)
which means these libs can be double-loaded.

deps:
- libmediandk -&gt; libmedia_jni -&gt; libmtp -&gt; libasyncio
- libmediandk -&gt; libmedia_jni -&gt; libandroid_runtime -&gt; libmemtrack
- libmediandk -&gt; libmedia_jni -&gt; libandroid_runtime -&gt; libdebuggerd_client -&gt; libprocinfo
- libmediandk -&gt; libmedia_jni -&gt; libmtp -&gt; libusbhost

Bug: 121280180
Test: m -j
Change-Id: I2c2b5d67cf47b85a2aa8c08f85c7e1a84490cf4e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libs(libasyncio libmemtrack libprocinfo libusbhost) have
vendor variants and they are also used by LLNDK(libmediandk)
which means these libs can be double-loaded.

deps:
- libmediandk -&gt; libmedia_jni -&gt; libmtp -&gt; libasyncio
- libmediandk -&gt; libmedia_jni -&gt; libandroid_runtime -&gt; libmemtrack
- libmediandk -&gt; libmedia_jni -&gt; libandroid_runtime -&gt; libdebuggerd_client -&gt; libprocinfo
- libmediandk -&gt; libmedia_jni -&gt; libmtp -&gt; libusbhost

Bug: 121280180
Test: m -j
Change-Id: I2c2b5d67cf47b85a2aa8c08f85c7e1a84490cf4e
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Remove urb request size maximum." am: 1cb765c867 am: 1ab6e9d018</title>
<updated>2018-02-13T09:02:38+00:00</updated>
<author>
<name>Jerry Zhang</name>
<email>zhangjerry@google.com</email>
</author>
<published>2018-02-13T09:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=7163045f7d068a2cc04458a9fc4a357fd8e14223'/>
<id>7163045f7d068a2cc04458a9fc4a357fd8e14223</id>
<content type='text'>
am: a306a3b18f

Change-Id: I635cb3547e72e0c6a8084d7b3ff2c9cbae1b2525
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
am: a306a3b18f

Change-Id: I635cb3547e72e0c6a8084d7b3ff2c9cbae1b2525
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove urb request size maximum.</title>
<updated>2018-02-08T00:12:14+00:00</updated>
<author>
<name>Jerry Zhang</name>
<email>zhangjerry@google.com</email>
</author>
<published>2018-02-07T02:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=3be61d3850169105bf0cfc8cd2f0ee22697496bb'/>
<id>3be61d3850169105bf0cfc8cd2f0ee22697496bb</id>
<content type='text'>
The 16kB maximum for transfers was removed from
the kernel in 3.3. Devio has since supported
arbitrary transfer sizes through scatter gather.

See the following kernel patches for context:
"USB: change the memory limits in usbfs URB submission"
"usbdevfs: Use scatter-gather lists for large bulk transfers"

Bug: 67683483
Test: Run usb_async_test app with USB3 : 38MB/s -&gt; 300MB/s
Change-Id: Ia52440cb725561b0f1db1a75aa1b8ab952585826
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 16kB maximum for transfers was removed from
the kernel in 3.3. Devio has since supported
arbitrary transfer sizes through scatter gather.

See the following kernel patches for context:
"USB: change the memory limits in usbfs URB submission"
"usbdevfs: Use scatter-gather lists for large bulk transfers"

Bug: 67683483
Test: Run usb_async_test app with USB3 : 38MB/s -&gt; 300MB/s
Change-Id: Ia52440cb725561b0f1db1a75aa1b8ab952585826
</pre>
</div>
</content>
</entry>
<entry>
<title>usblib: usb_device_get_string decoding fixes.</title>
<updated>2017-12-19T22:20:51+00:00</updated>
<author>
<name>Andrew Chant</name>
<email>achant@google.com</email>
</author>
<published>2017-12-08T00:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=8ea8101b0403a13ca78b0c82f2da047279c0a9d0'/>
<id>8ea8101b0403a13ca78b0c82f2da047279c0a9d0</id>
<content type='text'>
usb_device_get_string converts incoming ucs-2 text
to ascii by truncating the upper byte of each
character.  This is error prone.

This patch introduces usb_device_get_string_ucs2
to access raw USB string descriptors, as well as
changes usb_device_get_string to replace any non
ascii character with '?'.

Bug: 70163357
Change-Id: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Merged-In: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Test: Connected &amp; disconnected a NuForceDAC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
usb_device_get_string converts incoming ucs-2 text
to ascii by truncating the upper byte of each
character.  This is error prone.

This patch introduces usb_device_get_string_ucs2
to access raw USB string descriptors, as well as
changes usb_device_get_string to replace any non
ascii character with '?'.

Bug: 70163357
Change-Id: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Merged-In: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Test: Connected &amp; disconnected a NuForceDAC.
</pre>
</div>
</content>
</entry>
<entry>
<title>usblib: usb_device_get_string decoding fixes.</title>
<updated>2017-12-18T19:36:46+00:00</updated>
<author>
<name>Andrew Chant</name>
<email>achant@google.com</email>
</author>
<published>2017-12-08T00:51:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=169742e2dbde46efeccc93378960c0344da8c99c'/>
<id>169742e2dbde46efeccc93378960c0344da8c99c</id>
<content type='text'>
usb_device_get_string converts incoming ucs-2 text
to ascii by truncating the upper byte of each
character.  This is error prone.

This patch introduces usb_device_get_string_ucs2
to access raw USB string descriptors, as well as
changes usb_device_get_string to replace any non
ascii character with '?'.

Bug: 70163357
Change-Id: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Test: Connected &amp; disconnected a NuForceDAC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
usb_device_get_string converts incoming ucs-2 text
to ascii by truncating the upper byte of each
character.  This is error prone.

This patch introduces usb_device_get_string_ucs2
to access raw USB string descriptors, as well as
changes usb_device_get_string to replace any non
ascii character with '?'.

Bug: 70163357
Change-Id: If8f98fee4be6ea75dc0f7ce7beba7fd7b6aabf88
Test: Connected &amp; disconnected a NuForceDAC.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "usblib: fix race &amp; delay waiting for perms on open" am: 255c43cd05 am: 20346c2336</title>
<updated>2017-12-08T01:28:35+00:00</updated>
<author>
<name>Andrew Chant</name>
<email>achant@google.com</email>
</author>
<published>2017-12-08T01:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=137a644f2a4d688295b19d53f0110efaf83b268b'/>
<id>137a644f2a4d688295b19d53f0110efaf83b268b</id>
<content type='text'>
am: 366efbfba1

Change-Id: I418d980c1235ca747049feb710acc6a9e6ccea84
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
am: 366efbfba1

Change-Id: I418d980c1235ca747049feb710acc6a9e6ccea84
</pre>
</div>
</content>
</entry>
<entry>
<title>usblib: fix race &amp; delay waiting for perms on open</title>
<updated>2017-11-08T02:15:49+00:00</updated>
<author>
<name>Andrew Chant</name>
<email>achant@google.com</email>
</author>
<published>2017-11-02T00:32:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=3af9e40c66839c72c0e4f52ead0c60f20873560a'/>
<id>3af9e40c66839c72c0e4f52ead0c60f20873560a</id>
<content type='text'>
in usb_device_open, if permission is denied for a USB
device node, the current code retries read-only, then sleeps
for a second before retrying.

If the permission was changed to +rw between the two file opens,
the device could be inadvertently opened read-only.

Also, change the polling interval to 100ms.  1s is a long wait
for a function on the critical path of a user interaction.

Bug: 68337205
Bug: 68782236

Test: with debug messages enabled, connected &amp; disconnected
a USB audio headset.  Saw the writeable file descriptor
returned.

Change-Id: I06048cc2c09bf6ed1abada5d12b5559be768fbaf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
in usb_device_open, if permission is denied for a USB
device node, the current code retries read-only, then sleeps
for a second before retrying.

If the permission was changed to +rw between the two file opens,
the device could be inadvertently opened read-only.

Also, change the polling interval to 100ms.  1s is a long wait
for a function on the critical path of a user interaction.

Bug: 68337205
Bug: 68782236

Test: with debug messages enabled, connected &amp; disconnected
a USB audio headset.  Saw the writeable file descriptor
returned.

Change-Id: I06048cc2c09bf6ed1abada5d12b5559be768fbaf
</pre>
</div>
</content>
</entry>
<entry>
<title>Added get descriptors length function to enable direct access to raw descriptors.</title>
<updated>2017-11-06T20:32:52+00:00</updated>
<author>
<name>Paul McLean</name>
<email>pmclean@google.com</email>
</author>
<published>2017-11-06T17:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=baea1bd8155437c2ecbda64d59742c668b830212'/>
<id>baea1bd8155437c2ecbda64d59742c668b830212</id>
<content type='text'>
Bug: 68936964
Test: manual
Peripherals - Skylab, Mir, HTC dongle, Microsoft LX-3000 (headset), Rosewill (gaming) headset
Peripherals - PreSonus AudioBox 22VSL

Change-Id: Icbfd64c3ac29acab6a4c731d604cb0e620e41dc6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 68936964
Test: manual
Peripherals - Skylab, Mir, HTC dongle, Microsoft LX-3000 (headset), Rosewill (gaming) headset
Peripherals - PreSonus AudioBox 22VSL

Change-Id: Icbfd64c3ac29acab6a4c731d604cb0e620e41dc6
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark the modules as VNDK in Android.bp</title>
<updated>2017-09-14T08:35:16+00:00</updated>
<author>
<name>Justin Yun</name>
<email>justinyun@google.com</email>
</author>
<published>2017-07-24T06:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/system_core/commit/?id=6a7e8823165dbe2e60caac9a8e09a9de7f3a157e'/>
<id>6a7e8823165dbe2e60caac9a8e09a9de7f3a157e</id>
<content type='text'>
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
        enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
(cherry picked from commit 9b0ed7294273d5f10020388e5a5b7e545a2fd1de)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
        enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750
(cherry picked from commit 9b0ed7294273d5f10020388e5a5b7e545a2fd1de)
</pre>
</div>
</content>
</entry>
</feed>
