On Fri, Jun 19, 2015 at 01:12:36AM +0800, ChengYi He wrote: > put_device is required to release the last reference to the device. > > Signed-off-by: ChengYi He <chengyihetaipei@xxxxxxxxx> > --- > drivers/usb/common/ulpi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c > index 0e6f968..bd25bdb 100644 > --- a/drivers/usb/common/ulpi.c > +++ b/drivers/usb/common/ulpi.c > @@ -184,8 +184,10 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi) > request_module("ulpi:v%04xp%04x", ulpi->id.vendor, ulpi->id.product); > > ret = device_register(&ulpi->dev); > - if (ret) > + if (ret) { > + put_device(&ulpi->dev); If device_register returns failure, put_device has already been called. Check device_add in drivers/base/core.c. Thanks, -- heikki -- 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