Fix an infinite loop in pnp_get_ioresource(), which freezes coreboot if
a rare condition arises. Based on findings by Alexandru Gagniuc <mr.nuke.me@gmail.com> Signed-off-by: Stefan Reinauer <reinauer@google.com> Acked-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6323 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
38b1f3b772
commit
aeead274a1
|
@ -170,6 +170,12 @@ static void pnp_get_ioresource(device_t dev, u8 index, struct io_info *info)
|
||||||
struct resource *resource;
|
struct resource *resource;
|
||||||
unsigned moving, gran, step;
|
unsigned moving, gran, step;
|
||||||
|
|
||||||
|
if (!info->mask) {
|
||||||
|
printk(BIOS_ERR, "ERROR: device %s index %d has no mask.\n",
|
||||||
|
dev_path(dev), index);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
resource = new_resource(dev, index);
|
resource = new_resource(dev, index);
|
||||||
|
|
||||||
/* Initilize the resource. */
|
/* Initilize the resource. */
|
||||||
|
|
Loading…
Reference in New Issue