mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 22:51:35 +00:00
USB/gadget/net2280: handle sysfs errors
Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
5dfb5f1d06
commit
b3899dacaf
@ -2044,8 +2044,10 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver)
|
||||
return retval;
|
||||
}
|
||||
|
||||
device_create_file (&dev->pdev->dev, &dev_attr_function);
|
||||
device_create_file (&dev->pdev->dev, &dev_attr_queues);
|
||||
retval = device_create_file (&dev->pdev->dev, &dev_attr_function);
|
||||
if (retval) goto err_unbind;
|
||||
retval = device_create_file (&dev->pdev->dev, &dev_attr_queues);
|
||||
if (retval) goto err_func;
|
||||
|
||||
/* ... then enable host detection and ep0; and we're ready
|
||||
* for set_configuration as well as eventual disconnect.
|
||||
@ -2060,6 +2062,14 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver)
|
||||
|
||||
/* pci writes may still be posted */
|
||||
return 0;
|
||||
|
||||
err_func:
|
||||
device_remove_file (&dev->pdev->dev, &dev_attr_function);
|
||||
err_unbind:
|
||||
driver->unbind (&dev->gadget);
|
||||
dev->gadget.dev.driver = NULL;
|
||||
dev->driver = NULL;
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL (usb_gadget_register_driver);
|
||||
|
||||
@ -2974,8 +2984,10 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
: "disabled");
|
||||
the_controller = dev;
|
||||
|
||||
device_register (&dev->gadget.dev);
|
||||
device_create_file (&pdev->dev, &dev_attr_registers);
|
||||
retval = device_register (&dev->gadget.dev);
|
||||
if (retval) goto done;
|
||||
retval = device_create_file (&pdev->dev, &dev_attr_registers);
|
||||
if (retval) goto done;
|
||||
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user