Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc6932bb authored by Florian Tobias Schandinat's avatar Florian Tobias Schandinat Committed by Linus Torvalds
Browse files

viafb: fix ioremap_nocache error handling



Correct the returned error code for remapping the video framebuffer.
Introduce error handling for remapping MMIO register address space to
avoid a NULL pointer dereference.  Disable hardware acceleration if
remapping MMIO register address space failed as those registers are only
used for hardware acceleration.

Signed-off-by: default avatarFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: Harald Welte <laforge@gnumonks.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 09cf1180
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2134,12 +2134,16 @@ static int __devinit via_pci_probe(void)

	if (!viaparinfo->fbmem_virt) {
		printk(KERN_INFO "ioremap failed\n");
		return -1;
		return -ENOMEM;
	}

	viafb_get_mmio_info(&viaparinfo->mmio_base, &viaparinfo->mmio_len);
	viaparinfo->io_virt = ioremap_nocache(viaparinfo->mmio_base,
		viaparinfo->mmio_len);
	if (!viaparinfo->io_virt) {
		printk(KERN_WARNING "ioremap failed: hardware acceleration disabled\n");
		viafb_accel = 0;
	}

	viafbinfo->node = 0;
	viafbinfo->fbops = &viafb_ops;