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]

Reply via email to