From patchwork Wed Mar 7 11:03:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arvind Yadav X-Patchwork-Id: 10263777 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 7637F60211 for ; Wed, 7 Mar 2018 11:04:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 68D8E294B9 for ; Wed, 7 Mar 2018 11:04:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5D487294BC; Wed, 7 Mar 2018 11:04:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0205D294BA for ; Wed, 7 Mar 2018 11:04:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754344AbeCGLEN (ORCPT ); Wed, 7 Mar 2018 06:04:13 -0500 Received: from mail-it0-f68.google.com ([209.85.214.68]:34095 "EHLO mail-it0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754330AbeCGLEJ (ORCPT ); Wed, 7 Mar 2018 06:04:09 -0500 Received: by mail-it0-f68.google.com with SMTP id n128so15816641ith.1; Wed, 07 Mar 2018 03:04:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=+ksAJLbDC8A5KJOhSN70NTobzsduWaRAfhMZV0mickI=; b=mVh7JNvhL67lIYVmV+3nyXrcb0q+fY2nMuSI9WWKv1hRNGL4EsLLAR2vVb47tW4zBC 8i1KpEQemNYE8FG3NJKsCym95Vz3hp327dkRKN7DDVHFaef/mlJdcaMZALarGkfSpp9k xKThGPKx3VwLSSx7BaapUpDqF2ZpjRJhbXBf1O2Y/uVNpZfyUNQOwQukmsTpUumRQaxO OCb2pSovQVwbLPaSu6LnRQC5bWJQDP+Sq3AuQGHhCArDhzPKIm+fTY6BCF+ltHkbQqgV uSd4ruhfCT/gt2tKzp/hL+QUGOu5cDcNUNwAxd2OWZ9OTHQu1cTi6OlN1kZZKX8DNuS6 CszA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=+ksAJLbDC8A5KJOhSN70NTobzsduWaRAfhMZV0mickI=; b=EbgfFQN62DgDLvyASF09Yt5X925gz7Oy3X3T2AgBzjSSmw/Hc+VioTEW12GKh7m2ep xvoEAITF5JIlZehb/hTAHjk3RsobwRcF0Cp5XfFyM1q9H71ZAIQyBz+eHBr2MNufsaA8 83/Ve6lmZ/uaMYtMVcZ63U5Y0FpoKZsr2cjWmibbX99jwfU2pIBuPG4e2ljZ+6QjnJuH sZJKXyaazvXgzjwWkKZaAKqdKCf05TgSkitJFNof5U+DiPdJ4vROmKkVapjar5Btwuek jG3o14Gk5LXktr4Rn/Da4W/H+Z6Vx1oEcA7H+9fqDg7ObhJZHAGHPe/kWFczhByB1fkU 2PnA== X-Gm-Message-State: AElRT7GvWT5OTAnWI6kTYg+aeQAbkZutvxmAdGY+VOBbm/WvT5GiANqP mxcBJ8z7mhEQnBREgKverk+qKg== X-Google-Smtp-Source: AG47ELvrUrx61DAEF1mC6C76cvrFtL9dFUTaJl4Nh8np8Pq0oo+xsLtsssRRW0+vOxh0+z5//Q9GdQ== X-Received: by 10.36.77.143 with SMTP id l137mr23446279itb.118.1520420647891; Wed, 07 Mar 2018 03:04:07 -0800 (PST) Received: from symbol-HP-Z420-Workstation.zebra.lan ([149.23.17.254]) by smtp.googlemail.com with ESMTPSA id l123sm8654136itl.43.2018.03.07.03.04.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Mar 2018 03:04:07 -0800 (PST) From: Arvind Yadav To: ysato@users.sourceforge.jp, dalias@libc.org Cc: linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org Subject: [PATCH 2/2] sh: superhyway: use put_device() if device_register fail Date: Wed, 7 Mar 2018 16:33:14 +0530 Message-Id: X-Mailer: git-send-email 1.9.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP if device_register() returned an error! Always use put_device() to give up the reference initialized. Signed-off-by: Arvind Yadav --- drivers/sh/superhyway/superhyway.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/sh/superhyway/superhyway.c b/drivers/sh/superhyway/superhyway.c index 348836b..98922e7 100644 --- a/drivers/sh/superhyway/superhyway.c +++ b/drivers/sh/superhyway/superhyway.c @@ -54,6 +54,7 @@ int superhyway_add_device(unsigned long base, struct superhyway_device *sdev, struct superhyway_bus *bus) { struct superhyway_device *dev = sdev; + int ret; if (!dev) { dev = kzalloc(sizeof(struct superhyway_device), GFP_KERNEL); @@ -87,7 +88,11 @@ int superhyway_add_device(unsigned long base, struct superhyway_device *sdev, superhyway_devices++; - return device_register(&dev->dev); + ret = device_register(&dev->dev); + if (ret) + put_device(&dev->dev); + + return ret; } int superhyway_add_devices(struct superhyway_bus *bus, @@ -110,8 +115,10 @@ static int __init superhyway_init(void) int ret; ret = device_register(&superhyway_bus_device); - if (unlikely(ret)) + if (unlikely(ret)) { + put_device(&superhyway_bus_device); return ret; + } for (bus = superhyway_channels; bus->ops; bus++) ret |= superhyway_scan_bus(bus);