<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/drivers/usb, branch master</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/drivers/usb?h=master</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/drivers/usb?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2019-01-25T14:53:43+00:00</updated>
<entry>
<title>[init] Show startup and shutdown function names in debug messages</title>
<updated>2019-01-25T14:53:43+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2019-01-25T14:53:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=36a4c85f911c85f5ab183331ff74d125f9a9ed32'/>
<id>urn:sha1:36a4c85f911c85f5ab183331ff74d125f9a9ed32</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xhci] Consume event TRB before reporting completion to USB core</title>
<updated>2018-02-19T18:59:45+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-02-19T18:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8dbb73a779e5b11ee2b65f9d2af6dd9bd8998608'/>
<id>urn:sha1:8dbb73a779e5b11ee2b65f9d2af6dd9bd8998608</id>
<content type='text'>
Reporting a completion via usb_complete() will pass control outside
the scope of xhci.c, and could potentially result in a further call to
xhci_event_poll() before returning from usb_complete().  Since we
currently update the event consumer counter only after calling
usb_complete(), this can result in duplicate completions and
consequent corruption of the submission TRB ring structures.

Fix by updating the event ring consumer counter before passing control
to usb_complete().

Reported-by: Andreas Hammarskjöld &lt;junior@2PintSoftware.com&gt;
Tested-by: Andreas Hammarskjöld &lt;junior@2PintSoftware.com&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xhci] Assume an invalid PSI table if any invalid PSI value is observed</title>
<updated>2018-01-29T21:28:12+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2018-01-29T21:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=c900751fa65c35f0975e103fce3c17d8c40aa270'/>
<id>urn:sha1:c900751fa65c35f0975e103fce3c17d8c40aa270</id>
<content type='text'>
Invalid protocol speed ID tables appear to be increasingly common in
the wild, to the point that it is infeasible to apply an explicit
XHCI_BAD_PSIV flag for each offending PCI device ID.

Fix by assuming an invalid PSI table as soon as any invalid value is
reported by the hardware.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[usb] Allow for USB network devices with no interrupt endpoint</title>
<updated>2017-06-14T11:14:54+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-05-18T14:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=63113f591fc8d36f3cd2c90c2b145480d9ab1926'/>
<id>urn:sha1:63113f591fc8d36f3cd2c90c2b145480d9ab1926</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xhci] Avoid accessing beyond end of endpoint context array</title>
<updated>2017-03-21T14:22:42+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-03-21T14:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6124c0ebfae22542e5cbcc837143133fdb1d814d'/>
<id>urn:sha1:6124c0ebfae22542e5cbcc837143133fdb1d814d</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[ehci] Add extra debugging information</title>
<updated>2016-02-05T21:03:17+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-05T21:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=17a200257ac76f775565e33c22e18fc23d74c79b'/>
<id>urn:sha1:17a200257ac76f775565e33c22e18fc23d74c79b</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[usb] Allow USB endpoints to specify a reserved header length for refills</title>
<updated>2016-01-19T00:01:11+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-01-19T00:01:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=71b83a6d00caedb62cc62a5810f99a7a1478f2ae'/>
<id>urn:sha1:71b83a6d00caedb62cc62a5810f99a7a1478f2ae</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[usb] Add support for numeric keypad on USB keyboards</title>
<updated>2016-01-06T18:55:08+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-01-06T16:30:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=2f861d736f8b156aa87de3f0e250380ca292f767'/>
<id>urn:sha1:2f861d736f8b156aa87de3f0e250380ca292f767</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xhci] Ensure that zero-length packets are not part of a TRB chain</title>
<updated>2015-12-07T22:40:47+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-12-07T22:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ee8388ec6950ea596ddb374dcc2abb940db70aea'/>
<id>urn:sha1:ee8388ec6950ea596ddb374dcc2abb940db70aea</id>
<content type='text'>
Some xHCI controllers (such as qemu's emulated xHCI controller) do not
correctly handle zero-length packets that are part of a TRB chain.
The zero-length TRB ends up being squashed and does not result in a
zero-length packet as seen by the device.

Work around this problem by marking the zero-length packet as
belonging to a separate transfer descriptor.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[usb] Allow additional settling time for out-of-spec hubs</title>
<updated>2015-12-07T13:16:47+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-12-07T00:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=53ba5936b5c70b030d81e8f2349d75a7264581ae'/>
<id>urn:sha1:53ba5936b5c70b030d81e8f2349d75a7264581ae</id>
<content type='text'>
Some hubs (e.g. the Avocent Corp. Virtual Hub on a Lenovo x3550
Integrated Management Module) have been observed to require more than
the standard 200ms for ports to stabilise, with the result that
devices appear to disconnect and immediately reconnect during the
initial bus enumeration.

Work around this problem by allowing specific hubs an extra 500ms of
settling time.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
