[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <eed7af970810310609o632034dia6140f7bec6fee66@mail.gmail.com>
Date: Fri, 31 Oct 2008 16:09:48 +0300
From: "Max Dmitrichenko" <dmitrmax@...il.com>
To: linux-kernel@...r.kernel.org
Subject: [PATCH] Fix PCI resource mmaping on sparc64
There is a problem discovered in recent versions of ATI Mach64 driver
in X.org on sparc64 architecture. In short, the driver fails to mmap
MMIO aperture (PCI resource #2).
I've found that kernel's __pci_mmap_make_offset() returns EINVAL. It
checks whether user attempts to mmap more than the resource length,
which is 0x1000 bytes in our case. But PAGE_SIZE on SPARC64 is 0x2000
and this is what actually is being mmaped. So __pci_mmap_make_offset()
failed for this PCI resource.
Signed-off-by: Max Dmitrichenko <dmitrmax@...il.com>
Code seems to be rather old. At least it was the same in 2.6.24. I
have no explanation why this bug exposed only now. May be before X.org
used to use some other method to mmap PCI resource into userspace (now
it uses libpciaccess).
The patch is against 2.6.26. Greg, please consider to include it into
the stable trees.
Please put me in CC if you're replying this message.
--
Max
View attachment "sparc64-pci-mmap-fix.patch" of type "text/x-diff" (1075 bytes)
Powered by blists - more mailing lists