X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fusb%2Fcore%2Fdriver.c;h=8da4801bb92222cf6d6fa581db7c65640be5d6b0;hb=b0e396e3097ce4914c643bc3f0c2fe0098f551eb;hp=a1ad11d0c47cacaa2b5b2a3fdd4ff7c0a62d563f;hpb=1ff6f3dbfb366b464869d3558406e498cb3e1159;p=linux-2.6-omap-h63xx.git diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index a1ad11d0c47..8da4801bb92 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -60,7 +60,7 @@ ssize_t usb_store_new_id(struct usb_dynids *dynids, dynid->id.match_flags = USB_DEVICE_ID_MATCH_DEVICE; spin_lock(&dynids->lock); - list_add_tail(&dynids->list, &dynid->node); + list_add_tail(&dynid->node, &dynids->list); spin_unlock(&dynids->lock); if (get_driver(driver)) { @@ -202,6 +202,11 @@ static int usb_probe_interface(struct device *dev) intf = to_usb_interface(dev); udev = interface_to_usbdev(intf); + if (udev->authorized == 0) { + dev_err(&intf->dev, "Device is not authorized for usage\n"); + return -ENODEV; + } + id = usb_match_id(intf, driver->id_table); if (!id) id = usb_match_dynamic_id(intf, driver);