In the Linux kernel before 4.16.4, a double-locking error in drivers/usb/dwc3/gadget.c may potentially cause a deadlock with f_hid.
cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.16.4
git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=072684e8c58d17e853f8e8b9f6d9ce2e58d2b036
git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c91815b596245fd7da349ecc43c8def670d2269e
github.com/torvalds/linux/commit/072684e8c58d17e853f8e8b9f6d9ce2e58d2b036
github.com/torvalds/linux/commit/c91815b596245fd7da349ecc43c8def670d2269e
usn.ubuntu.com/4115-1/
usn.ubuntu.com/4118-1/
www.spinics.net/lists/linux-usb/msg167355.html
www.spinics.net/lists/linux-usb/msg167393.html