On Wed, Nov 10, 2010 at 12:25:04AM +0200, Aaro Koskinen wrote: > diff --git a/drivers/video/sis/sis_main.c b/drivers/video/sis/sis_main.c > index b52f8e4..8a528aa 100644 > --- a/drivers/video/sis/sis_main.c > +++ b/drivers/video/sis/sis_main.c > @@ -4514,7 +4514,7 @@ sisfb_post_sis300(struct pci_dev *pdev) > } else { > #endif > /* Need to map max FB size for finding out about RAM size */ > - mapsize = 64 << 20; > + mapsize = ivideo->video_size; > sisfb_post_map_vram(ivideo, &mapsize, 4); > > if(ivideo->video_vbase) { > @@ -4680,7 +4680,7 @@ sisfb_post_xgi_ramsize(struct sis_video_info *ivideo) > orSISIDXREG(SISSR, 0x20, (0x80 | 0x04)); > > /* Need to map max FB size for finding out about RAM size */ > - mapsize = 256 << 20; > + mapsize = ivideo->video_size; > sisfb_post_map_vram(ivideo, &mapsize, 32); > > if(!ivideo->video_vbase) { > sisfb_post_map_vram() expects that the mapsize >= min, and falls back on the default aperture size otherwise. If you're going to pass in a variable size for video_size then this expectation may no longer hold true, and you've then changed the behaviour if an invalid size succeeds on the initial ioremap() attempt. Simply inserting a: if (*mapsize < min) return; sanity check prior to the ioremap() should preserve the existing behaviour. -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html