From patchwork Tue Oct 29 10:30:31 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Veaceslav Falico X-Patchwork-Id: 286778 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 1584F2C035B for ; Tue, 29 Oct 2013 21:31:13 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753616Ab3J2KbK (ORCPT ); Tue, 29 Oct 2013 06:31:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44580 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751339Ab3J2Kay (ORCPT ); Tue, 29 Oct 2013 06:30:54 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9TAUO0f004583 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 29 Oct 2013 06:30:28 -0400 Received: from darkmag.usersys.redhat.com (dhcp-27-102.brq.redhat.com [10.34.27.102]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r9TATwJS009082; Tue, 29 Oct 2013 06:30:10 -0400 From: Veaceslav Falico To: linux-pci@vger.kernel.org Cc: torvalds@linux-foundation.org, tglx@linutronix.de, yinghai@kernel.org, Knut_Petersen@t-online.de, mingo@kernel.org, paulmck@linux.vnet.ibm.com, fweisbec@gmail.com, linux-kernel@vger.kernel.org, Veaceslav Falico , Bjorn Helgaas , Neil Horman , Greg Kroah-Hartman Subject: [PATCH v3 2/3] pci: remove redundant pci_dev_get/put() on kobject (un)register Date: Tue, 29 Oct 2013 11:30:31 +0100 Message-Id: <1383042632-7102-3-git-send-email-vfalico@redhat.com> In-Reply-To: <1383042632-7102-1-git-send-email-vfalico@redhat.com> References: <1383042632-7102-1-git-send-email-vfalico@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Currently we're pci_dev_get/put()-ing pci device on every kobject creation/removal. It's useless per se - the kobject is part of the device itself, so it should be removed when there are no users of the pdev, and is not a user of it. CC: Bjorn Helgaas CC: Neil Horman CC: Greg Kroah-Hartman CC: linux-pci@vger.kernel.org CC: linux-kernel@vger.kernel.org Signed-off-by: Veaceslav Falico Acked-by: Neil Horman --- drivers/pci/msi.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 5d70f49..0771508 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -511,7 +511,6 @@ static void msi_kobj_release(struct kobject *kobj) { struct msi_desc *entry = to_msi_desc(kobj); - pci_dev_put(entry->dev); kfree(entry); } @@ -534,13 +533,10 @@ static int populate_msi_sysfs(struct pci_dev *pdev) list_for_each_entry(entry, &pdev->msi_list, list) { kobj = &entry->kobj; kobj->kset = pdev->msi_kset; - pci_dev_get(pdev); ret = kobject_init_and_add(kobj, &msi_irq_ktype, NULL, "%u", entry->irq); - if (ret) { - pci_dev_put(pdev); + if (ret) return ret; - } } return 0;