mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* quick hack to make ipaq USB serial driver work again
@ 2003-12-20  1:52 David Mosberger
  2003-12-21  1:07 ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: David Mosberger @ 2003-12-20  1:52 UTC (permalink / raw)
  To: ganesh; +Cc: linux-usb-devel, linux-kernel

The ipaq USB driver in 2.6.0 didn't work for me.  I got the attached
"Badness in local_bh_enable" backtrace when ppp tried to connect to my
iPaq.  The quick and dirty patch to avoid the problem is this patch:

===== drivers/usb/serial/ipaq.c 1.34 vs edited =====
--- 1.34/drivers/usb/serial/ipaq.c	Tue Sep 16 03:52:04 2003
+++ edited/drivers/usb/serial/ipaq.c	Fri Dec 19 17:28:20 2003
@@ -222,7 +222,11 @@
 	 * discipline instead of queueing.
 	 */
 
+#if 0
 	port->tty->low_latency = 1;
+#else
+	port->tty->low_latency = 0;
+#endif
 	port->tty->raw = 1;
 	port->tty->real_raw = 1;
 

I'm not quite sure of the root-cause of the problem.  It's quite
likely that the console output caused by WARN_ON() in softirq.c slows
down execution enough for the connection to fail, but clearly calling
local_bh_enable() with interrupts disabled isn't kosher either.

With the above workaround applied, I can now use SynCE's "pstatus" and
"pls" commands and they both seem to work fine.

Thanks,

	--david

Badness in local_bh_enable at kernel/softirq.c:121

Call Trace:
[<a00000010001bee0>] show_stack+0x80/0xa0
[<a0000001000a1870>] local_bh_enable+0x150/0x160
[<a0000002001f7070>] ppp_asynctty_receive+0x670/0x1080 [ppp_async]
[<a000000100348460>] flush_to_ldisc+0x140/0x260
[<a0000002001b9080>] ipaq_read_bulk_callback+0x360/0x640 [ipaq]
[<a000000100564b50>] usb_hcd_giveback_urb+0x150/0x240
[<a0000002001814a0>] finish_urb+0xe0/0x220 [ohci_hcd]
[<a0000002001831c0>] dl_done_list+0x260/0x320 [ohci_hcd]
[<a000000200185980>] ohci_irq+0x140/0x960 [ohci_hcd]
[<a000000100566ec0>] usb_hcd_irq+0xa0/0x120
[<a000000100018940>] handle_IRQ_event+0xa0/0x140
[<a0000001000195b0>] do_IRQ+0x2b0/0x440
[<a00000010001b050>] ia64_handle_irq+0x70/0x140
[<a000000100014fa0>] ia64_leave_kernel+0x0/0x260
[<a00000010037fb00>] serial_in+0x300/0x400
[<a0000001003858b0>] serial8250_console_write+0xf0/0x720
[<a000000100097b50>] __call_console_drivers+0x130/0x180
[<a000000100098440>] _call_console_drivers+0x1c0/0x1e0
[<a000000100098880>] release_console_sem+0x420/0x580
[<a000000100098ea0>] printk+0x300/0x4e0
[<a0000002001b9cd0>] ipaq_write+0x610/0x700 [ipaq]
[<a000000200148f50>] serial_write+0x1d0/0x2e0 [usbserial]
[<a0000002001f5d10>] ppp_async_push+0x250/0xd00 [ppp_async]
[<a0000002001f69d0>] ppp_async_send+0xd0/0x100 [ppp_async]
[<a000000200215ff0>] ppp_push+0x230/0x260 [ppp_generic]
[<a000000200216e10>] ppp_xmit_process+0x730/0xe80 [ppp_generic]
[<a0000002002184f0>] ppp_write+0x3d0/0x400 [ppp_generic]
[<a00000010011b4a0>] vfs_write+0x1c0/0x2e0
[<a00000010011b700>] sys_write+0x60/0xe0
[<a000000100014e20>] ia64_ret_from_syscall+0x0/0x20

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-12-21  7:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-20  1:52 quick hack to make ipaq USB serial driver work again David Mosberger
2003-12-21  1:07 ` Greg KH
2003-12-21  7:22   ` David Mosberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®