Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762596AbYBLQWt (ORCPT ); Tue, 12 Feb 2008 11:22:49 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754843AbYBLQWk (ORCPT ); Tue, 12 Feb 2008 11:22:40 -0500 Received: from accolon.hansenpartnership.com ([76.243.235.52]:47810 "EHLO accolon.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755785AbYBLQWj (ORCPT ); Tue, 12 Feb 2008 11:22:39 -0500 Subject: Re: [PATCH] 2.6.25-rc1-git2: GDT SCSI: change drivers/scsi/gdth.c into using pci_get device From: James Bottomley To: Sergio Luis Cc: Achim Leubner , linux-scsi@vger.kernel.org, LKML In-Reply-To: <47B1ADCE.40202@larces.uece.br> References: <47B1ADCE.40202@larces.uece.br> Content-Type: text/plain Date: Tue, 12 Feb 2008 10:22:34 -0600 Message-Id: <1202833354.3137.19.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-1.fc8) Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1645 Lines: 40 On Tue, 2008-02-12 at 11:31 -0300, Sergio Luis wrote: > Fix compilation warning in drivers/scsi/gdth.c, using deprecated pci_find_device. > Change it into using pci_get_device instead: > drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) > > Signed-off-by: Sergio Luis > > gdth.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > > diff -urN linux-2.6.25-rc1-git2.orig/drivers/scsi/gdth.c linux-2.6.25-rc1-git2/drivers/scsi/gdth.c > --- linux-2.6.25-rc1-git2.orig/drivers/scsi/gdth.c 2008-02-12 09:26:14.000000000 -0300 > +++ linux-2.6.25-rc1-git2/drivers/scsi/gdth.c 2008-02-12 10:33:08.000000000 -0300 > @@ -642,7 +642,7 @@ > *cnt, vendor, device)); > > pdev = NULL; > - while ((pdev = pci_find_device(vendor, device, pdev)) > + while ((pdev = pci_get_device(vendor, device, pdev)) > != NULL) { > if (pci_enable_device(pdev)) > continue; This can't be correct without a matching put in the error leg. The difference between the two APIs is that pci_get_device returns a pci_device with a reference taken and pci_find_device doesn't. However, pci_get_device does drop the reference again so as long as you never exit the loop until it returns NULL, it is OK ... it's the exits before pci_get_device() returns NULL that need the put. James -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/