Jia-Ju Bai
c7b8f77872
USB: serial: io_edgeport: fix possible sleep-in-atomic
...
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, the redundant usb_kill_urb() is removed from the error path
after usb_submit_urb() fails.
This possible bug is found by my static analysis tool (DSAC) and checked
by my code review.
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com >
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable <stable@vger.kernel.org >
Signed-off-by: Johan Hovold <johan@kernel.org >
2017-12-14 10:32:29 +01:00
..
2017-11-02 11:10:55 +01:00
2017-11-17 14:51:24 -08:00
2017-11-14 16:54:12 -08:00
2017-11-16 09:10:59 -08:00
2017-11-15 14:11:41 -08:00
2017-11-21 15:57:07 -08:00
2017-11-13 17:56:58 -08:00
2017-11-21 16:35:54 -08:00
2017-11-15 11:56:19 -08:00
2017-11-21 16:35:54 -08:00
2017-11-04 09:26:51 +09:00
2017-11-16 16:05:01 -08:00
2017-11-14 15:32:19 -08:00
2017-11-26 14:11:54 -08:00
2017-11-17 20:04:24 -08:00
2017-11-23 16:29:05 +01:00
2017-10-22 02:22:39 +01:00
2017-11-13 19:43:50 -08:00
2017-11-16 12:47:46 -08:00
2017-11-16 12:47:46 -08:00
2017-11-17 09:51:57 -08:00
2017-11-13 01:41:39 +01:00
2017-11-02 11:10:55 +01:00
2017-11-14 16:49:31 -08:00
2017-11-17 14:58:01 -08:00
2017-11-15 13:46:33 -08:00
2017-11-02 11:10:55 +01:00
2017-11-13 21:14:07 -08:00
2017-11-13 17:56:58 -08:00
2017-11-21 15:46:44 -08:00
2017-11-02 11:10:55 +01:00
2017-11-16 09:10:59 -08:00
2017-11-16 10:57:11 -08:00
2017-11-25 08:37:16 -10:00
2017-11-21 15:57:07 -08:00
2017-11-15 13:35:43 -08:00
2017-11-16 09:10:59 -08:00
2017-11-16 01:03:19 -08:00
2017-11-17 20:16:20 -08:00
2017-11-16 09:10:59 -08:00
2017-11-17 11:54:55 -08:00
2017-11-19 08:04:41 -10:00
2017-11-13 01:34:14 +01:00
2017-11-21 15:57:07 -08:00
2017-11-21 16:35:54 -08:00
2017-11-21 16:35:54 -08:00
2017-11-21 15:57:07 -08:00
2017-11-26 14:39:20 -08:00
2017-11-21 15:57:09 -08:00
2017-11-14 18:09:31 -08:00
2017-11-21 15:46:44 -08:00
2017-11-13 17:56:58 -08:00
2017-11-15 13:39:18 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 10:56:56 -08:00
2017-11-21 16:35:54 -08:00
2017-11-16 16:05:01 -08:00
2017-11-21 15:57:07 -08:00
2017-11-15 13:46:33 -08:00
2017-11-21 15:57:07 -08:00
2017-11-17 16:10:01 -08:00
2017-11-21 15:57:07 -08:00
2017-11-25 08:37:16 -10:00
2017-11-25 08:37:16 -10:00
2017-11-21 15:57:09 -08:00
2017-11-21 15:57:07 -08:00
2017-11-13 12:10:24 -08:00
2017-11-17 09:51:57 -08:00
2017-11-16 11:27:04 -07:00
2017-11-16 09:10:59 -08:00
2017-11-20 21:38:41 -10:00
2017-10-14 00:54:41 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 09:10:59 -08:00
2017-11-26 14:11:54 -08:00
2017-11-17 16:10:04 -08:00
2017-11-15 10:56:56 -08:00
2017-11-13 21:14:07 -08:00
2017-11-16 10:57:11 -08:00
2017-11-25 08:37:16 -10:00
2017-11-02 11:10:55 +01:00
2017-11-15 13:37:15 -08:00
2017-11-21 15:57:07 -08:00
2017-11-16 13:06:27 -08:00
2017-11-22 21:09:18 -10:00
2017-11-17 16:56:17 -08:00
2017-11-13 17:56:58 -08:00
2017-11-16 09:15:57 -08:00
2017-11-17 20:14:10 -08:00
2017-11-16 16:05:01 -08:00
2017-11-17 20:12:08 -08:00
2017-11-25 08:37:16 -10:00
2017-11-21 16:35:54 -08:00
2017-11-17 20:21:44 -08:00
2017-11-25 08:37:16 -10:00
2017-11-14 16:54:12 -08:00
2017-11-16 16:05:01 -08:00
2017-11-10 21:33:51 +00:00
2017-11-02 11:10:55 +01:00
2017-11-21 16:35:54 -08:00
2017-11-25 08:37:16 -10:00
2017-11-02 11:10:55 +01:00
2017-11-17 14:31:27 -08:00
2017-11-16 09:10:59 -08:00
2017-11-21 16:35:54 -08:00
2017-11-02 11:10:55 +01:00
2017-12-14 10:32:29 +01:00
2017-11-21 15:57:07 -08:00
2017-11-14 16:47:47 -08:00
2017-11-17 12:08:18 -08:00
2017-11-20 21:50:24 -10:00
2017-11-14 23:57:38 +02:00
2017-11-16 09:10:59 -08:00
2017-11-16 09:10:59 -08:00
2017-11-21 15:57:07 -08:00
2017-11-21 15:57:05 -08:00
2017-11-02 11:10:55 +01:00
2017-11-13 01:40:52 +01:00
2017-11-13 01:40:52 +01:00