Hi, On 03/28/2014 11:29 AM, oliver@xxxxxxxxxx wrote: > From: Oliver Neukum <oneukum@xxxxxxx> > > 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 <oliver@xxxxxxxxxx> Good catch, thanks: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html