[REGRESSION] "USB: use kfifo to buffer usb-generic serial writes" causes gobi_loader to hang

Matthew Garrett <[email protected]> Sun, 17 Jan 2010 02:55:35 +0000
Newsgroups gmane.linux.kernel,gmane.linux.usb.devel
Message-ID <[email protected]>
gobi_loader writes firmware to gobi USB devices (qcserial) via the USB 
serial layer by writing it a megabyte at a time (matching the Windows 
driver behaviour). Commit 8e8dce065088833fc418bfa5fbf035cb0726c04c 
breaks it - strace shows the write simply hanging. ssyrq-t says the 
backtrace is:

Jan 17 15:37:37 localhost kernel: Call Trace:
Jan 17 15:37:37 localhost kernel: [<ffffffff8128986c>] n_tty_write+0x2da/0x351
Jan 17 15:37:37 localhost kernel: [<ffffffff810464b4>] ? default_wake_function+0x0/0x14
Jan 17 15:37:37 localhost kernel: [<ffffffff81286969>] tty_write+0x19d/0x245
Jan 17 15:37:37 localhost kernel: [<ffffffff81289592>] ? n_tty_write+0x0/0x351
Jan 17 15:37:37 localhost kernel: [<ffffffff81103e44>] vfs_write+0xae/0x10b
Jan 17 15:37:37 localhost kernel: [<ffffffff81103f61>] sys_write+0x4a/0x6e
Jan 17 15:37:37 localhost kernel: [<ffffffff81009e45>] tracesys+0xd9/0xde

The commit before this works fine.
-- 
Matthew Garrett | [email protected]