On Wed, Dec 13, 2017 at 08:34:36PM +0800, Jia-Ju Bai wrote: > According to drivers/usb/serial/io_edgeport.c, the driver may sleep > under a spinlock. > The function call path is: > edge_bulk_in_callback (acquire the spinlock) > process_rcvd_data > process_rcvd_status > change_port_settings > send_iosp_ext_cmd > write_cmd_usb > usb_kill_urb --> may sleep > > To fix it, usb_kill_urb() is removed from the error path after usb_submit_urb() fails. I added a "the redundant" before "usb_kill_urb()" in the above sentence to make it more clear why this was done. > This possible bug is found by my static analysis tool (DSAC) and checked by my code review. And line-wrapped you commit message (at about 72 columns). I also used a common prefix and shortened the summary to: USB: serial: io_edgeport: fix possible sleep-in-atomic Just some minor nits, that you can keep in mind for your next patch submission. > Signed-off-by: Jia-Ju Bai <baijiaju1990@xxxxxxxxx> Thanks for reporting and fixing this. Now applied for -next. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html