hi,
        I tried using the ipaq module over usbserial with the latest 2.5 tree
from greg and hit what looks like a problem in usbserial.c. 
        I compiled with SMP + sleep-inside-spinlock checking enabled and got
a BUG() in serial_write() while running pppd. here's a sample stacktrace:

Dec  3 00:51:39 tuxtop kernel: 
Dec  3 00:51:40 tuxtop kernel: Debug: sleeping function called from illegal cont
ext at include/asm/semaphore.h:119
Dec  3 00:51:40 tuxtop kernel: Call Trace:
[<d08765d7>] serial_write+0x77/0x170 [usbserial]
[<d087902a>] +0x7/0xdd [usbserial]
[<d08caee0>] ppp_async_push+0x1a0/0x250 [ppp_async]
[<d08cad37>] ppp_async_send+0x47/0x50 [ppp_async]
[<d08afefa>] ppp_push+0x12a/0x180 [ppp_generic]
[<c02a6303>] __kfree_skb+0x123/0x1c0
[<d08afb35>] ppp_send_frame+0x2e5/0x580 [ppp_generic]
[<c011ce34>] default_wake_function+0x34/0x40
[<d08af7c7>] ppp_xmit_process+0x177/0x200 [ppp_generic]
[<c011ce7a>] __wake_up_common+0x3a/0x60
[<d08af33f>] ppp_start_xmit+0x15f/0x2c0 [ppp_generic]
[<c02b460f>] qdisc_restart+0x9f/0x270
[<c02aa8c0>] dev_queue_xmit+0x360/0x460
[<c0144fef>] kmalloc+0x9f/0xc0
[<c02c2a7f>] ip_finish_output2+0x11f/0x1e0
[<c02c072c>] ip_output+0x7c/0xe0
[<c02c1a93>] ip_append_data+0x5c3/0x780
[<c02c2309>] ip_push_pending_frames+0x299/0x3f0
[<c02c2800>] ip_send_reply+0x240/0x2b0
[<c02c2530>] ip_reply_glue_bits+0x0/0x90
[<c02d9a27>] tcp_v4_send_reset+0x117/0x180
[<c02d8357>] tcp_v4_lookup_listener+0x67/0xa0
[<c02dadc0>] tcp_v4_rcv+0x360/0x570
[<c02bd6b9>] ip_local_deliver_finish+0xc9/0x1d0
[<c02bd9b9>] ip_rcv_finish+0x1f9/0x25f
[<c02aaed3>] netif_receive_skb+0xd3/0x190
[<c02ab012>] process_backlog+0x82/0x110
[<c02ab14e>] net_rx_action+0xae/0x150
[<c0126095>] do_softirq+0xc5/0xd0
[<c010d9a5>] do_IRQ+0x1a5/0x1d0
[<c0108d30>] default_idle+0x0/0x50

I verified that the problem is caused by the down(&port->sem) at the beginning
of serial_write() (by adding a might_sleep() just before the down()).
unfortunately I don't have the time to investigate further, perhaps someone
more familiar with recent 2.5's can catch it immediately.

ganesh


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to