From: Woody Suwalski The Netwinder machines with Cyber2010 crash badly when starting Xserver. The workaround is to disable pci burst option for this revision of video chip. Signed-off-by: Woody Suwalski Cc: "Antonino A. Daplas" Cc: James Simmons Cc: Ralf Baechle Signed-off-by: Andrew Morton --- drivers/video/cyber2000fb.c | 22 +++++++++++++++------- 1 files changed, 15 insertions(+), 7 deletions(-) diff -puN drivers/video/cyber2000fb.c~cyber2010-framebuffer-on-arm-netwinder-fix drivers/video/cyber2000fb.c --- a/drivers/video/cyber2000fb.c~cyber2010-framebuffer-on-arm-netwinder-fix +++ a/drivers/video/cyber2000fb.c @@ -1539,16 +1539,24 @@ static int cyberpro_pci_enable_mmio(stru /* * Allow the CyberPro to accept PCI burst accesses */ - val = cyber2000_grphr(EXT_BUS_CTL, cfb); - if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { - printk(KERN_INFO "%s: enabling PCI bursts\n", cfb->fb.fix.id); + if (cfb->id == ID_CYBERPRO_2010) + { + printk(KERN_INFO "%s: NOT enabling PCI bursts\n", cfb->fb.fix.id); + } + else + { + val = cyber2000_grphr(EXT_BUS_CTL, cfb); + if (!(val & EXT_BUS_CTL_PCIBURST_WRITE)) { + printk(KERN_INFO "%s: enabling PCI bursts\n", + cfb->fb.fix.id); - val |= EXT_BUS_CTL_PCIBURST_WRITE; + val |= EXT_BUS_CTL_PCIBURST_WRITE; - if (cfb->id == ID_CYBERPRO_5000) - val |= EXT_BUS_CTL_PCIBURST_READ; + if (cfb->id == ID_CYBERPRO_5000) + val |= EXT_BUS_CTL_PCIBURST_READ; - cyber2000_grphw(EXT_BUS_CTL, val, cfb); + cyber2000_grphw(EXT_BUS_CTL, val, cfb); + } } return 0; _