Hi,

On 03/28/2014 11:29 AM, oli...@neukum.org wrote:
> From: Oliver Neukum <oneu...@suse.de>
> 
> intfdata is set only after scsi_scan(). uas_pre_reset() however
> needs intfdata to be valid and will follow the NULL pointer
> killing khubd. intfdata must be preemptively set before the
> host is registered and undone in the error case.
> 
> Signed-off-by: Oliver Neukum <oli...@neukum.org>

Good catch, thanks:

Reviewed-by: Hans de Goede <hdego...@redhat.com>
Acked-by: Hans de Goede <hdego...@redhat.com>

Regards,

Hans


> ---
>  drivers/usb/storage/uas.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
> index b2bd8ea..511b229 100644
> --- a/drivers/usb/storage/uas.c
> +++ b/drivers/usb/storage/uas.c
> @@ -1096,16 +1096,17 @@ static int uas_probe(struct usb_interface *intf, 
> const struct usb_device_id *id)
>       if (result)
>               goto free_streams;
>  
> +     usb_set_intfdata(intf, shost);
>       result = scsi_add_host(shost, &intf->dev);
>       if (result)
>               goto free_streams;
>  
>       scsi_scan_host(shost);
> -     usb_set_intfdata(intf, shost);
>       return result;
>  
>  free_streams:
>       uas_free_streams(devinfo);
> +     usb_set_intfdata(intf, NULL);
>  set_alt0:
>       usb_set_interface(udev, intf->altsetting[0].desc.bInterfaceNumber, 0);
>       if (shost)
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to