Re: WARNINGs in usb-serial.c
From: Alan Stern
Date: Mon Sep 07 2009 - 11:08:33 EST
On Mon, 7 Sep 2009, Miklos Szeredi wrote:
> Here's a reproducible Oops on that kernel when trying to connect with
> wvdial. This is a regression compared to -linus, where wvdial works
> (most of the time anyway).
>
> I can bisect it if it's not immediately obvious what is happening...
I don't think bisecting will help (or is even possible).
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
> IP: [<ffffffffa020709c>] serial_chars_in_buffer+0x47/0x5f [usbserial]
It's difficult to say without an assembly listing, but I gather that
serial_chars_in_buffer() is seeing port->serial == NULL. Can you
verify this?
This is unexpected, because port->serial is initialized in
usb_serial_probe() and is not set to NULL until destroy_serial(), after
which port should not be used at all. Can you add a
#define DEBUG
line at the start of usb-serial.c (before the #include lines) so that
we can tell if destroy_serial() is getting called too early? When you
do, post the dmesg log showing everything from the time you start
running your test.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/