Re: [Bug #12872] pwc mmap always fails with EAGAIN

From: Markus
Date: Sun Mar 22 2009 - 15:58:33 EST


> > > Still valid for 2.6.29-rc8-git5.
> >
> > And not really likely to change until someone with a pwc camera adds
lots
> > of printks to the code to work out why this happens.
>
> Or does a bisection to figure out the bad commit, because the report
> says that 2.6.28 worked.
>
> The 'howto bisect' portion of:
>
> http://www.kernel.org/doc/local/git-quick.html


Well I did a bisect:
be03d9e8022030c16abf534e33e185bfc3d40eef is first bad commit
commit be03d9e8022030c16abf534e33e185bfc3d40eef
Author: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
Date: Wed Feb 11 11:20:23 2009 -0800

x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem

Jeff Mahoney reported:

> With Suse's hwinfo tool, on -tip:
> WARNING: at arch/x86/mm/pat.c:637 reserve_pfn_range+0x5b/0x26d()

reserve_pfn_range() is not tracking the memory range below 1MB
as non-RAM and as such is inconsistent with similar checks in
reserve_memtype() and free_memtype()

Rename the pagerange_is_ram() to pat_pagerange_is_ram() and add the
"track legacy 1MB region as non RAM" condition.

And also, fix reserve_pfn_range() to return -EINVAL, when the pfn
range is RAM. This is to be consistent with this API design.

Reported-and-tested-by: Jeff Mahoney <jeffm@xxxxxxxx>
Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

:040000 040000 feb3bf21d762e885284cb1bedb5d2c6c0d16811b
b4c2143775386ce15dd49b6749c1f7913d8beb00 M arch

So I ran "git bisect reset ; git revert
be03d9e8022030c16abf534e33e185bfc3d40eef" and rebuild. That worked!

I dont know if this is valid to do, but its working fine.
Its an amd64 system with CONFIG_X86_PAT=y.

Need some feedback ;)

Markus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/