mirror of https://gitee.com/openkylin/linux.git
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