浏览代码

drm/nouveau/bios/pll: prevent oops when limits table can't be parsed

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Ben Skeggs 9 年之前
父节点
当前提交
2781c928b1
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c

+ 2 - 2
drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c

@@ -156,7 +156,7 @@ pll_map_reg(struct nvkm_bios *bios, u32 reg, u32 *type, u8 *ver, u8 *len)
 	}
 	}
 
 
 	map = pll_map(bios);
 	map = pll_map(bios);
-	while (map->reg) {
+	while (map && map->reg) {
 		if (map->reg == reg && *ver >= 0x20) {
 		if (map->reg == reg && *ver >= 0x20) {
 			u16 addr = (data += hdr);
 			u16 addr = (data += hdr);
 			*type = map->type;
 			*type = map->type;
@@ -198,7 +198,7 @@ pll_map_type(struct nvkm_bios *bios, u8 type, u32 *reg, u8 *ver, u8 *len)
 	}
 	}
 
 
 	map = pll_map(bios);
 	map = pll_map(bios);
-	while (map->reg) {
+	while (map && map->reg) {
 		if (map->type == type && *ver >= 0x20) {
 		if (map->type == type && *ver >= 0x20) {
 			u16 addr = (data += hdr);
 			u16 addr = (data += hdr);
 			*reg = map->reg;
 			*reg = map->reg;