From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754694AbbFWK5w (ORCPT ); Tue, 23 Jun 2015 06:57:52 -0400 Received: from mga03.intel.com ([134.134.136.65]:46120 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753437AbbFWK5m (ORCPT ); Tue, 23 Jun 2015 06:57:42 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,665,1427785200"; d="scan'208";a="716083622" Date: Tue, 23 Jun 2015 13:57:38 +0300 From: Heikki Krogerus To: ChengYi He Cc: Felipe Balbi , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] usb: ulpi: call put_device if device_register fails Message-ID: <20150623105738.GD1296@kuha.fi.intel.com> References: <20150618171236.GA18007@chengyihe-ThinkCentre-M82> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150618171236.GA18007@chengyihe-ThinkCentre-M82> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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