From patchwork Mon Dec 7 12:57:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 553378 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id B2FBD140213 for ; Mon, 7 Dec 2015 23:59:39 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=baylibre-com.20150623.gappssmtp.com header.i=@baylibre-com.20150623.gappssmtp.com header.b=evImcmpc; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755647AbbLGM7O (ORCPT ); Mon, 7 Dec 2015 07:59:14 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:34080 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755644AbbLGM7K (ORCPT ); Mon, 7 Dec 2015 07:59:10 -0500 Received: by wmvv187 with SMTP id v187so165157601wmv.1 for ; Mon, 07 Dec 2015 04:59:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=4ztjEH8nnwvhgIU2d4vgno9cguzAmUt7U5pD5HggOCY=; b=evImcmpcDPeVXsWfi2atjizXPxyM2cB0BXHC89Yp+K7E7CYgybghaFB/WrHH4JnnLb eagHVwnSQT3rRMHyF3k4dEKoencgvOqZtvllL7Ez2djyqOBHEnaJc091td80m/gKtjSh s6odouET+Mi4M/qvZ5/j8cK/HDXJUALAFxO6ef8xv9RUzkm/8wFoBahGWGL2gaC82/Gw SV9x/6U4Kmq1LSKZhmEU5XdFi9pAfbegenowN0k367g83LR1HRYxcmtuiRNSBBugOde1 AQ5Ywkw4nI6A9lGiKgQYaiNeS0jr63PhkqJ3hIL8YTWiZ2vz3xKXAlOKSO662J+MYUgR YLzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=4ztjEH8nnwvhgIU2d4vgno9cguzAmUt7U5pD5HggOCY=; b=f1ICkKcuTFBH4ZLvtfIiZkjtXvhB5gLQdH0ey2Gf3XPUP+PXlSh5QVGgJtXgGmogEC 20P9FdBeblpBhCXVQYnHALtJMapn89SvN4Q93HcRgpEbaypBhb9140MVEG1oQ86UlXn2 p+ZQtpEf26CxmVYa/oM1ysds9wGnMy5fllFyXZfB+4kdkf1EAqfhB6PUNh1ynrJza+yY nVi24/0IhNcPR3DHBlEO7Bbvlmqv0OspDp3Avi+zfBSBTobvZf9CJtGLeSu/QC+qtM2Q Vc+aN9VjfbAjWcfKK9n2w59nhqpn05wYAtmlCrjuy6WYEwIZOOW4Ub3CmN3fl23agByU pqxA== X-Gm-Message-State: ALoCoQna4skNz3xDP40/G3QZOeZ5Lpmq4iMVj5prixMQbu2UJ3xDu8HtbtVGJEAHW1RWO6KvVSCZ X-Received: by 10.194.9.169 with SMTP id a9mr32635186wjb.60.1449493149088; Mon, 07 Dec 2015 04:59:09 -0800 (PST) Received: from zoidberg.home ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id 186sm16660793wmv.9.2015.12.07.04.59.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 07 Dec 2015 04:59:08 -0800 (PST) From: Neil Armstrong To: davem@davemloft.net, andrew@lunn.ch, f.fainelli@gmail.com, linux@roeck-us.net, vivien.didelot@savoirfairelinux.com, fabf@skynet.be, pavel.nakonechny@skitlab.ru, joe@perches.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Neil Armstrong Subject: [PATCH v3 net-next 3/4] net: dsa: Add missing master netdev dev_put() calls Date: Mon, 7 Dec 2015 13:57:34 +0100 Message-Id: <1449493055-29047-4-git-send-email-narmstrong@baylibre.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1449493055-29047-1-git-send-email-narmstrong@baylibre.com> References: <56321D9A.8010109@baylibre.com> <1449493055-29047-1-git-send-email-narmstrong@baylibre.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Upon probe failure or unbinding, add missing dev_put() calls. Signed-off-by: Neil Armstrong --- net/dsa/dsa.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c index d9e0172..d22d303e 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -919,8 +919,10 @@ static int dsa_probe(struct platform_device *pdev) platform_set_drvdata(pdev, dst); ret = dsa_setup_dst(dst, dev, &pdev->dev, pd); - if (ret) + if (ret) { + dev_put(dev); goto out; + } return 0; @@ -940,6 +942,8 @@ static void dsa_remove_dst(struct dsa_switch_tree *dst) if (ds) dsa_switch_destroy(ds); } + + dev_put(dst->master_netdev); } static int dsa_remove(struct platform_device *pdev)