From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:57259 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751540Ab3IZOLJ (ORCPT ); Thu, 26 Sep 2013 10:11:09 -0400 From: Veaceslav Falico To: linux-pci@vger.kernel.org Cc: Veaceslav Falico , Bjorn Helgaas , Neil Horman , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH v2 1/3] pci: remove redundant pci_dev_get/put() on kobject (un)register Date: Thu, 26 Sep 2013 16:11:13 +0200 Message-Id: <1380204675-18238-1-git-send-email-vfalico@redhat.com> Sender: linux-pci-owner@vger.kernel.org List-ID: 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 --- 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; -- 1.8.4