call put_device() when device_register() fails. Signed-off-by: Rahul Ruikar <rahul.ruikar@xxxxxxxxx> --- drivers/usb/gadget/goku_udc.c | 7 ++++++- drivers/usb/gadget/goku_udc.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c index 1088d08..080779b 100644 --- a/drivers/usb/gadget/goku_udc.c +++ b/drivers/usb/gadget/goku_udc.c @@ -1847,8 +1847,13 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* done */ the_controller = dev; retval = device_register(&dev->gadget.dev); - if (retval == 0) + if (retval != 0) { + dev_reg_status = 2; + goto done; + } else { + dev_reg_status = 1; return 0; + } done: if (dev) diff --git a/drivers/usb/gadget/goku_udc.h b/drivers/usb/gadget/goku_udc.h index 566cb23..c27b9e2 100644 --- a/drivers/usb/gadget/goku_udc.h +++ b/drivers/usb/gadget/goku_udc.h @@ -251,7 +251,8 @@ struct goku_udc { got_region:1, req_config:1, configured:1, - enabled:1; + enabled:1, + dev_reg_status:2; /* pci state used to access those endpoints */ struct pci_dev *pdev; -- 1.7.2.3 -- 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