android_kernel_xiaomi_sm8350/drivers/usb/serial
Alan Stern 59c2afa072 USB: option: fix usage of urb->status abuse
Might fix bug 8561

On Mon, 4 Jun 2007, Paulo Pereira wrote:

> The patch that you send is not resolving the problem... :(
> I stil have Kernel panic after 45/60 min of work with Ktorrent/Amule...
>
> The Drump is:
>
> Call Trace:
> [<c055fb36>] usb_hcd_submit+0xb1/0x763
> [<f9276488>] ipt_do_table+0x2c7/0x2ef [ip_tables]
> [<f929a6d7>] nf_ct_deliver_cached_events+0x41/0x96 [nf_conntrak]
> [<f9288254>] ipv4_confirm+0x36/0c3b [nf_conntrack_ipv4]
> [<c05ce7c2>] tcp_v4_rcv+0x827/0x899
> [<c05afcc0>] nf_hook_slow+0x4d/0xb5
> [<c042826f>] irq_enter+0x19/0x23
> [<c042826f>] irq_enter+0x19/0x23
> [<c040794c>] do_IRQ+0xbd/0xd1
> [<f90893c9>] option_write+0xa7/0xef [option]

Okay, from this it looks like there's a problem in the option.c serial
driver.  Glancing at the code, it's obvious why: The thing totally
abuses the USB API.

Try applying this patch; it should help.

From: Alan Stern <stern@rowland.harvard.edu>
Cc: Paulo Pereira <pfmp.404@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12 16:34:30 -07:00
..
aircable.c Fix misspellings collected by members of KJ list. 2007-05-09 07:14:03 +02:00
airprime.c USB: remove duplicated device id in airprime driver 2007-03-26 14:17:48 -07:00
ark3116.c USB: Fix debug output of ark3116 2007-05-22 23:45:50 -07:00
belkin_sa.c
belkin_sa.h
bus.c
ChangeLog.history
console.c
cp2101.c USB: CP2101 New Device IDs 2007-04-27 13:28:42 -07:00
cyberjack.c
cypress_m8.c
cypress_m8.h
digi_acceleport.c USB: digi_acceleport further buffer clean up 2007-07-12 16:34:29 -07:00
empeg.c
ezusb_convert.pl
ezusb.c
ftdi_sio.c USB: ftdi_sio.c: Allow setting latency timer on FT232RL 2007-07-12 16:29:50 -07:00
ftdi_sio.h USB: ftdio_sio: New IPlus device ID 2007-06-25 23:38:06 -07:00
funsoft.c
garmin_gps.c
generic.c USB: generic usb serial to new buffering scheme 2007-07-12 16:29:51 -07:00
hp4x.c
io_16654.h
io_edgeport.c USB: fix race leading to use after free in io_edgeport 2007-06-25 23:38:06 -07:00
io_edgeport.h USB: io_edgeport: Convert to generic boolean 2007-04-27 13:28:36 -07:00
io_fw_boot2.h
io_fw_boot.h
io_fw_down2.h
io_fw_down3.h USB: io_ti: Digi EdgePort update for new devices 2007-07-12 16:29:48 -07:00
io_fw_down.h
io_ionsp.h
io_tables.h
io_ti.c USB: io_ti: Digi EdgePort update for new devices 2007-07-12 16:29:48 -07:00
io_ti.h
io_usbvend.h USB: io_ti: Digi EdgePort update for new devices 2007-07-12 16:29:48 -07:00
ipaq.c Adding PID of SHARP S01SH for ipaq.c 2007-04-27 13:28:33 -07:00
ipaq.h
ipw.c
ir-usb.c
Kconfig USB: oti6858 usb-serial driver (in Nokia CA-42 cable) 2007-07-12 16:29:47 -07:00
keyspan_mpr_fw.h
keyspan_pda_fw.h
keyspan_pda.c
keyspan_pda.S
keyspan_usa18x_fw.h
keyspan_usa19_fw.h
keyspan_usa19qi_fw.h
keyspan_usa19qw_fw.h
keyspan_usa19w_fw.h
keyspan_usa26msg.h
keyspan_usa28_fw.h
keyspan_usa28msg.h
keyspan_usa28x_fw.h
keyspan_usa28xa_fw.h
keyspan_usa28xb_fw.h
keyspan_usa49msg.h
keyspan_usa49w_fw.h
keyspan_usa49wlc_fw.h
keyspan_usa67msg.h USB Serial Keyspan: add support for USA-49WG & USA-28XG 2007-07-12 16:29:45 -07:00
keyspan_usa90msg.h
keyspan.c USB Serial Keyspan: add support for USA-49WG & USA-28XG 2007-07-12 16:29:45 -07:00
keyspan.h USB Serial Keyspan: add support for USA-49WG & USA-28XG 2007-07-12 16:29:45 -07:00
kl5kusb105.c USB: fix error handling in kl5kusb 2007-04-27 13:28:38 -07:00
kl5kusb105.h
kobil_sct.c
kobil_sct.h
Makefile USB: oti6858 usb-serial driver (in Nokia CA-42 cable) 2007-07-12 16:29:47 -07:00
Makefile-keyspan_pda_fw
mct_u232.c USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter 2007-07-12 16:29:48 -07:00
mct_u232.h USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter 2007-07-12 16:29:48 -07:00
mos7720.c USB: fix endianness in mos7720 2007-04-27 13:28:36 -07:00
mos7840.c USB: remove useless check in mos7840 found by coverity 2007-05-22 23:45:48 -07:00
navman.c
omninet.c USB: fix omninet memory leak found by coverity 2007-05-22 23:45:48 -07:00
option.c USB: option: fix usage of urb->status abuse 2007-07-12 16:34:30 -07:00
oti6858.c USB: oti6858 usb-serial driver (in Nokia CA-42 cable) 2007-07-12 16:29:47 -07:00
oti6858.h USB: oti6858 usb-serial driver (in Nokia CA-42 cable) 2007-07-12 16:29:47 -07:00
pl2303.c USB: flow control fix for pl2303 2007-07-12 16:29:51 -07:00
pl2303.h
safe_serial.c
sierra.c USB: Add support for Sierra Wireless Aircard 595U 2007-05-22 23:45:51 -07:00
ti_fw_3410.h
ti_fw_5052.h
ti_usb_3410_5052.c USB: ti serial driver sleeps with spinlock held 2007-06-25 23:38:05 -07:00
ti_usb_3410_5052.h
usb_debug.c
usb-serial.c USB: suspend support for usb serial 2007-07-12 16:29:44 -07:00
visor.c USB: visor driver adapted to new tty buffering 2007-07-12 16:29:51 -07:00
visor.h
whiteheat_fw.h
whiteheat.c USB: whiteheat driver update 2007-07-12 16:34:28 -07:00
whiteheat.h USB: whiteheat: Convert to generic boolean 2007-04-27 13:28:39 -07:00
xircom_pgs_fw.h
xircom_pgs.S