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.
https://www.spinics.net/lists/linux-usb/msg167393.html
https://www.spinics.net/lists/linux-usb/msg167355.html
https://usn.ubuntu.com/4118-1/
https://usn.ubuntu.com/4115-1/
https://github.com/torvalds/linux/commit/c91815b596245fd7da349ecc43c8def670d2269e
https://github.com/torvalds/linux/commit/072684e8c58d17e853f8e8b9f6d9ce2e58d2b036
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.16.4