On Mon, Nov 17, 2008 at 10:29:00AM +0700, Eugene Konev wrote: > mos7840_startup tries to use serial->minor for port number calculation but it > is uninitialized yet. It happened to work for single adapter when > serial->minor > was 0, but now for some reason it is not and startup breaks. The attached > patch fixes the issue, but there's still some bug in deinitialization code, > which leads to NULL pointer dereference if mos7840_startup was unsuccessful. > > --- a/drivers/usb/serial/mos7840.c 2008-11-16 09:55:34.000000000 +0700 > +++ b/drivers/usb/serial/mos7840.c 2008-11-16 09:56:20.000000000 +0700 > @@ -2534,9 +2534,7 @@ > mos7840_set_port_private(serial->port[i], mos7840_port); > spin_lock_init(&mos7840_port->pool_lock); > > - mos7840_port->port_num = ((serial->port[i]->number - > - (serial->port[i]->serial->minor)) + > - 1); > + mos7840_port->port_num = i + 1; > > if (mos7840_port->port_num == 1) { > mos7840_port->SpRegOffset = 0x0; Can you please send your patch to the kernel's USB maintainer Greg Kroah-Hartman <[EMAIL PROTECTED]> along with a Signed-off-by: line and keeping this bug CCed?
Cheers, Moritz -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]