From patchwork Tue Oct 27 14:49:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 536674 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 142861402B6 for ; Wed, 28 Oct 2015 01:50:28 +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=AGOtMq8x; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964855AbbJ0OtT (ORCPT ); Tue, 27 Oct 2015 10:49:19 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:37023 "EHLO mail-wi0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932697AbbJ0OtM (ORCPT ); Tue, 27 Oct 2015 10:49:12 -0400 Received: by wicfv8 with SMTP id fv8so166088209wic.0 for ; Tue, 27 Oct 2015 07:49:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre_com.20150623.gappssmtp.com; s=20150623; h=from:subject:to:cc:organization:message-id:date:user-agent :mime-version:content-type:content-transfer-encoding; bh=wVDXiUAtJevH0NIlY5nm7rnv3V3u/AGGpCmQqny4u1Y=; b=AGOtMq8xRNb//LLTtpcJ/xtvynh0uUY7XCH5bjv+gOcOTPZ3eW9jb6Yp0zFe109N7O l0lcSs0Any3bGO9uV0qXkY8VBoTPQIMZpw6Iqu5BScPWIA+vyQBkEvetX2i/DdBslMvu KPlp1Bs9dUMNVVfqmL2uUsMWUgnACGfxYDxeXch6+ceCBnFJ/ZsEnhIqFQr/tK8eNGWo OGexKdM/q/1JOAB6ejx71MqVezMQOCkkWWghwsaWVJNSTvtMWYA8++B3vlW5126s/FM6 ldaAOjeA8K7MFBreyDufpVMBATUATxjauQU/hPIVs7uWmPOvh3YRkSpb321KVPfdszc6 15RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:cc:organization:message-id:date :user-agent:mime-version:content-type:content-transfer-encoding; bh=wVDXiUAtJevH0NIlY5nm7rnv3V3u/AGGpCmQqny4u1Y=; b=bOfClXu8GWn1EvL916jBN68L8aIMmcoeyRlj+FJMXjkB5nJ1YxlnVA24BvEfKws07b CWOOLPa0JyuUOxQl5oH/ww2VXvXjMNw0y4BiSKTdf0e3aRRPaOFmGV1GiAUHVld/kqrE VRj5iwlbGVGhDjbTNoDpu8k8hX9mCFAnS6mZsL3zA7Mr5eL39xS88L/MhloXAh5qYo62 tQ7OhLq4YNUI8LOWjPm5hDMDSWP4+qM8dS/t2Qa/GTaViWlRBM/S0SbumMp6fryrULCi 3UDoKmyb2HzaowbazIGxxS2q6RHU5mUXwWRnarJF4lW3AUaETtTWCciEUU1LkLlHzLUL V5CA== X-Gm-Message-State: ALoCoQkYdPpifsjR/y3mK6qZib3YsRTKE06bNHz4WQKXz48HjU4TzgxLI/hPKlEFepLm2xwVUuVa X-Received: by 10.194.59.137 with SMTP id z9mr27887697wjq.28.1445957351920; Tue, 27 Oct 2015 07:49:11 -0700 (PDT) Received: from [192.168.2.52] (cag06-6-78-235-100-105.fbx.proxad.net. [78.235.100.105]) by smtp.gmail.com with ESMTPSA id lf10sm45198577wjb.23.2015.10.27.07.49.10 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Oct 2015 07:49:11 -0700 (PDT) From: Neil Armstrong Subject: [PATCH 4/6] net: dsa: Add missing master netdev dev_put() calls To: "David S. Miller" Cc: Andrew Lunn , Florian Fainelli , Guenter Roeck , vivien.didelot@savoirfairelinux.com, Fabian Frederick , Pavel Nakonechny , Joe Perches , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frode Isaksen Organization: Baylibre Message-ID: <562F8EE5.6070907@baylibre.com> Date: Tue, 27 Oct 2015 15:49:09 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 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 acbf854..9240a46 100644 --- a/net/dsa/dsa.c +++ b/net/dsa/dsa.c @@ -931,8 +931,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; @@ -965,6 +967,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)