Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Bjorn Helgaas <bhelgaas <at> google.com>
Subject: Re: x86: runtime waring in pcibios_fwaddrmap_lookup
Newsgroups: gmane.linux.kernel.pci
Date: Monday 14th May 2012 20:21:47 UTC (over 5 years ago)
On Sun, May 13, 2012 at 06:15:18PM +0300, Meelis Roos wrote:
> > > Thanks for the quick response Meelis (unlike myself; I've been
consumed
> > > with a hard deadline task recently - sorry).
> 
> Not so quick this time - I had to replace the HDD and then recreate the 
> failing config. Took 2.4-rc7 as a base. This gives us another data point 
> - it does not warn on SMP but warns only on UP.

I think that's the critical point; thanks for mentioning it :)

The following patch should fix it.  Can you confirm?

commit d7d1398aa087445ce04a1b1d45c4de7485590f57
Author: Bjorn Helgaas 
Date:   Mon May 14 12:01:26 2012 -0600

    x86/PCI: only check for spinlock being held in SMP kernels
    
    spin_is_locked() is always false on UP kernels: spin_lock_irqsave()
does no
    locking, so we can't tell whether the lock is held or not.  Therefore,
    this warning is only valid for SMP kernels.
    
    Reported-and-tested-by: Meelis Roos 
    CC: Myron Stowe 
    Signed-off-by: Bjorn Helgaas 

diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index 831971e..dd8ca6f 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -57,7 +57,7 @@ static struct pcibios_fwaddrmap
*pcibios_fwaddrmap_lookup(struct pci_dev *dev)
 {
 	struct pcibios_fwaddrmap *map;
 
-	WARN_ON(!spin_is_locked(&pcibios_fwaddrmap_lock));
+	WARN_ON_SMP(!spin_is_locked(&pcibios_fwaddrmap_lock));
 
 	list_for_each_entry(map, &pcibios_fwaddrmappings, list)
 		if (map->dev == dev)
 
CD: 3ms