Bug 23802

Summary: resource map sanity check conflict
Product: Drivers Reporter: Jiri Slaby (jirislaby)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, bjorn.helgaas
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.37-rc2 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg with test patch
avoid e820 regions

Description Jiri Slaby 2010-11-26 12:49:52 UTC
resource map sanity check conflict: 0xfed40000 0xfed44fff0xfed44000 0xfed44fff Intel Flush Page
WARNING: at/usr/src/packages/BUILD/kernel-desktop-2.6.37/linux-2.6.36/arch/x86/mm/ioremap.c:98__ioremap_caller+0x353/0x380()
Hardware name: 766929G
Info: mapping multiple BARs. Your kernel is fine.
Modules linked in: ...
Pid: 382, comm: modprobe Not tainted 2.6.37-rc2-0.0.0.4ae942e-desktop #1
Call Trace:
 [<ffffffff81005ac9>] dump_trace+0x79/0x340
 [<ffffffff8151e921>] dump_stack+0x69/0x6f
 [<ffffffff81057d2b>] warn_slowpath_common+0x7b/0xc0
 [<ffffffff81057e25>] warn_slowpath_fmt+0x45/0x50
 [<ffffffff81032453>] __ioremap_caller+0x353/0x380
 [<ffffffffa02c68d7>] tpm_tis_init+0x57/0x660 [tpm_tis]
 [<ffffffff812e8f29>] pnp_device_probe+0x69/0xe0
 [<ffffffff8132afc4>] really_probe+0x64/0x200
...

dmesg:
https://bugzillafiles.novell.org/attachment.cgi?id=401414
lspci -vvnnxxx:
https://bugzillafiles.novell.org/attachment.cgi?id=401643
/proc/iomem:
https://bugzillafiles.novell.org/attachment.cgi?id=401476

References:
http://lkml.org/lkml/2010/11/24/233
https://bugzilla.novell.com/show_bug.cgi?id=655048
Comment 1 Bjorn Helgaas 2010-12-13 16:11:33 UTC
Created attachment 40032 [details]
dmesg with test patch

This is another manifestation of bug 23542.  In both cases, intel-gtt
allocates an "Intel Flush Page" using pci_bus_alloc_resource().  That
does not currently pay any attention to ACPI devices, so we may put
the flush page on top of another device.

There's a test patch here:
https://bugzilla.kernel.org/show_bug.cgi?id=23542#c14

Jiri tested it and collected this dmesg showing that it fixes the
problem.

This patch is still under discussion and is not upstream yet.
Comment 2 Bjorn Helgaas 2010-12-16 22:31:40 UTC
Created attachment 40492 [details]
avoid e820 regions

The conflict between the flush page and the TPM occurs when we
allocate the flush page using top-down allocation, which went
into 2.6.37-rc1.

There have been too many problems with that approach, so we plan
to revert that by applying this patch to 2.6.37-rc6.  This takes
us back to bottom-up allocation, so it should fix this issue, but
it'd be great if anybody can confirm it.