Bug 23802 - resource map sanity check conflict
Summary: resource map sanity check conflict
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_pci@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-26 12:49 UTC by Jiri Slaby
Modified: 2012-08-14 13:34 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.37-rc2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg with test patch (59.87 KB, text/plain)
2010-12-13 16:11 UTC, Bjorn Helgaas
Details
avoid e820 regions (22.39 KB, patch)
2010-12-16 22:31 UTC, Bjorn Helgaas
Details | Diff

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.

Note You need to log in before you can comment on or make changes to this bug.