Messages in this thread | | | Date | Fri, 19 Oct 2007 16:36:30 -0500 | From | Larry Finger <> | Subject | Re: Locking problem in usbserial with 2.6.23-git 5a34417f |
| |
Jiri Kosina wrote: > On Fri, 19 Oct 2007, Larry Finger wrote: > >> While attempting to configure a new USB modem, the following locking >> problem occurred. In addition, shortly after this problem occurred, the >> computer froze. The log data starts at the point that usbserial was >> loaded and contains everything that was written to disk before the >> machine locked up. Some info may be missing from the end of the stack >> dump. > > I guess this one is needed. > > > From: Jiri Kosina <jkosina@suse.cz> > > USB: usbserial - fix potential deadlock between write() and irq > > usb_serial_generic_write() doesn't disable interrupts when taking port->lock, > and could therefore deadlock with usb_serial_generic_read_bulk_callback() > being called from interrupt, taking the same lock. Fix it. > > Signed-off-by: Jiri Kosina <jkosina@suse.cz> >
As I said earlier, the lock problem went away; however, I get the following two kernel warnings:
WARNING: at kernel/sched.c:3475 sub_preempt_count()
Call Trace: [<ffffffff8022df50>] sub_preempt_count+0x7e/0x91 [<ffffffff80237eb9>] local_bh_enable_ip+0x91/0xf5 [<ffffffff803eaaa8>] _spin_unlock_bh+0x39/0x3e [<ffffffff88405409>] :ppp_generic:ppp_channel_push+0x72/0xad [<ffffffff88406528>] :ppp_generic:ppp_write+0x10f/0x121 [<ffffffff8028f75d>] vfs_write+0xae/0x137 [<ffffffff8028fcc6>] sys_write+0x47/0x70 [<ffffffff8020c2fa>] tracesys+0xdc/0xe1
PPP BSD Compression module registered PPP Deflate Compression module registered WARNING: at kernel/softirq.c:139 local_bh_enable()
Call Trace: [<ffffffff80237d82>] local_bh_enable+0x8f/0x135 [<ffffffff8038f9ec>] dev_queue_xmit+0x2a6/0x2d2 [<ffffffff803ab2be>] ip_finish_output+0x221/0x24f [<ffffffff803ab5d0>] ip_output+0x53/0x55 [<ffffffff803a9df5>] ip_push_pending_frames+0x309/0x3ed [<ffffffff803c5f88>] udp_push_pending_frames+0x2d7/0x33f [<ffffffff803c70e9>] udp_sendmsg+0x4d5/0x61d [<ffffffff80248c99>] lock_hrtimer_base+0x25/0x4a [<ffffffff803cccce>] inet_sendmsg+0x46/0x53 [<ffffffff80381ca3>] sock_sendmsg+0xdf/0xf8 [<ffffffff80248e8f>] hrtimer_start+0x102/0x114 [<ffffffff8024653c>] autoremove_wake_function+0x0/0x38 [<ffffffff8020bb85>] do_notify_resume+0x68e/0x7ac [<ffffffff803ea5cb>] trace_hardirqs_on_thunk+0x35/0x3a [<ffffffff803826b4>] move_addr_to_kernel+0x40/0x49 [<ffffffff803827db>] sys_sendto+0x11e/0x143 [<ffffffff8020bf5d>] sys_rt_sigreturn+0x2a6/0x389 [<ffffffff80265072>] audit_syscall_entry+0x148/0x17e [<ffffffff8020c2fa>] tracesys+0xdc/0xe1
The second is complaining that interrupts are disabled, and may be related.
Larry - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |