On Thu, 9 Mar 2006, Horst Schirmeier wrote:

> When trying to deconfigure a device via usb_set_configuration(dev, 0),
> 2.6.16-rc kernels after 55c527187c9d78f840b284d596a0b298bc1493af oops
> with "Unable to handle NULL pointer dereference at...". This is due to
> an unchecked dereference of cp in the power budget part.
> 
> Signed-off-by: Horst Schirmeier <[EMAIL PROTECTED]>
Acked-by: Alan Stern <[EMAIL PROTECTED]>

> 
> ---
> 
> diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
> index 7135e54..96cabeb 100644
> --- a/drivers/usb/core/message.c
> +++ b/drivers/usb/core/message.c
> @@ -1388,11 +1388,13 @@ free_interfaces:
>       if (dev->state != USB_STATE_ADDRESS)
>               usb_disable_device (dev, 1);    // Skip ep0
>  
> -     i = dev->bus_mA - cp->desc.bMaxPower * 2;
> -     if (i < 0)
> -             dev_warn(&dev->dev, "new config #%d exceeds power "
> -                             "limit by %dmA\n",
> -                             configuration, -i);
> +     if (cp) {
> +             i = dev->bus_mA - cp->desc.bMaxPower * 2;
> +             if (i < 0)
> +                     dev_warn(&dev->dev, "new config #%d exceeds power "
> +                                     "limit by %dmA\n",
> +                                     configuration, -i);
> +     }
>  
>       if ((ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
>                       USB_REQ_SET_CONFIGURATION, 0, configuration, 0,




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to