the bitrig patrick_xhci branch has been created by patrick. it is 0 commits behind master, and 4 commits ahead.
commit c9f1711c0ec75108f3d005b5e7b1e3842d1affa4 diff: https://github.com/bitrig/bitrig/commit/c9f1711 author: Mark Kettenis <[email protected]> date: Fri Jan 9 20:17:06 2015 +0000 Properly unwind from a failure in usbd_dma_contig_alloc(). Calling bus_dmamap_unload(9) on a map that failed to load is a bad idea and causes panics on some architectures (such as sparc64). ok mpi@ M sys/dev/usb/xhci.c commit 7266c454fbf0abd937c4054a6ee86a9d9e247d5f diff: https://github.com/bitrig/bitrig/commit/7266c45 author: Martin Pieuchot <[email protected]> date: Mon Jan 5 12:38:17 2015 +0000 Prevent a race condition upon resume by adding a supplementary delay. This is a workaround needed at least by Renesas controllers. I didn't find any documentation about this issue and I guess other open source xHCI implementations do not see this race because they do much more work upon resume. Thanks to Remi Locherer for reporting this issue on bugs@. M sys/dev/usb/xhci.c commit b2ca08a5e7adbcecb85b04a3e1378f2d5b0a9d9c diff: https://github.com/bitrig/bitrig/commit/b2ca08a author: Martin Pieuchot <[email protected]> date: Sun Jan 4 20:10:09 2015 +0000 Only set the status of a completed xfer just before giving it back to the stack. This will allow stricter checks when aborting transfers. While here update a comment about short transfer and multi-TRB TD since bulk transfers can also use a chain now. M sys/dev/usb/xhci.c commit fd6b07c5c2d74247548aede2bb0b2cfdc09b539d diff: https://github.com/bitrig/bitrig/commit/fd6b07c author: Martin Pieuchot <[email protected]> date: Fri Jan 2 18:06:26 2015 +0000 When chaining TRBs, calculate the TD Size as described in section 4.11.2.4 instead of using one TRB per packet. Also make sure that it is not greater than 31. While here be paranoid about xfer buffer crossing a 64k boundary and use a supplementary TRB in such case. Fix a problem with uplcom(4) on Intel xHCI reported by jasper@. M sys/dev/usb/xhci.c M sys/dev/usb/xhcireg.h
