![]() | |||||||||||
Messages in this thread |
On Tue, 27 May 2008 06:43:51 +0100 David Woodhouse <dwmw2@infradead.org> wrote: > On Mon, 2008-05-26 at 17:25 -0700, Arjan van de Ven wrote: > > btw this guy has shown up on kerneloops.org a lot: > > http://www.kerneloops.org/searchweek.php?search=__ioremap_caller > > where it's trying to map memory as uncachable, which is.. well nasty > > (it seems to map not just the piece it needs, but more, and then > > turns that "more" uncachable, even if the kernel is using it for > > "normal" things) > > The driver needs that 'more' to reach the lock registers for the flash > chip. If it's being used for other things, shouldn't the > request_region() fail? it does fail.... ... and then the driver continues anyway! if (request_resource(&iomem_resource, &window->rsrc)) { window->rsrc.parent = NULL; printk(KERN_ERR MOD_NAME " %s(): Unable to register resource" " 0x%.016llx-0x%.016llx - kernel bug?\n", __func__, (unsigned long long)window->rsrc.start, (unsigned long long)window->rsrc.end); } notice the lack of "return" or "goto out" etc ;) > > On a vaguely related note, there's a lot to be said for _not_ using > the standard PCI driver setup on the BIOS flash drivers, and going > back to having them manually loaded rather than being automatically > loaded whenever the appropriate southbridge is present. > > It would be nicer if the only people who have write access to their > BIOS flash are the ones who _really_ wanted it. absolutely do we need a MODULE_NO_AUTOLOAD() ? > -- If you want to reach me at my work email, use arjan@linux.intel.com For development, discussion and tips for power savings, visit http://www.lesswatts.org | ||||||||||
| Last update: 2008-05-27 08:03 [from the cache] ©2003-2008 | |||||||||||