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

Commit 457e77b2 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/bios: add more checks to PRAMIN image fetching



Prevents an attempt to access VRAM on an un-posted board, which, on a
particular system with a GRID K1 installed, causes a MCE and chokes
the entire system.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 420b9469
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -99,7 +99,17 @@ nouveau_bios_shadow_pramin(struct nouveau_bios *bios)
				return;
		}

		addr = (u64)(nv_rd32(bios, 0x619f04) & 0xffffff00) << 8;
		addr = nv_rd32(bios, 0x619f04);
		if (!(addr & 0x00000008)) {
			nv_debug(bios, "... not enabled\n");
			return;
		}
		if ( (addr & 0x00000003) != 1) {
			nv_debug(bios, "... not in vram\n");
			return;
		}

		addr = (u64)(addr >> 8) << 8;
		if (!addr) {
			addr  = (u64)nv_rd32(bios, 0x001700) << 16;
			addr += 0xf0000;