From 87e7050bff564820e3337c0653211a8180ef1fc0 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Fri, 5 Jun 2009 11:41:51 +0000 Subject: [PATCH] die() does never return. Annotate it as such. Any endless loop after die() can be eliminated. Dereferencing a NULL pointer is bad. die() instead. Replace endless loops with die(). Signed-off-by: Carl-Daniel Hailfinger Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4340 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/console/console.c | 2 +- src/devices/pci_ops.c | 5 ++--- src/devices/smbus_ops.c | 1 - src/southbridge/intel/i82801dbm/i82801dbm_lpc.c | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/console/console.c b/src/console/console.c index aeccc1443..af790de21 100644 --- a/src/console/console.c +++ b/src/console/console.c @@ -92,7 +92,7 @@ void post_code(uint8_t value) } /* Report a fatal error */ -void die(const char *msg) +void __attribute__((noreturn)) die(const char *msg) { printk_emerg("%s", msg); post_code(0xff); diff --git a/src/devices/pci_ops.c b/src/devices/pci_ops.c index 08792f209..ed984f89b 100644 --- a/src/devices/pci_ops.c +++ b/src/devices/pci_ops.c @@ -30,7 +30,7 @@ static struct bus *get_pbus(device_t dev) struct bus *pbus; if (!dev) - printk_alert("get_pbus: dev is NULL!\n"); + die("get_pbus: dev is NULL!\n"); pbus = dev->bus; @@ -44,9 +44,8 @@ static struct bus *get_pbus(device_t dev) pbus = pbus->dev->bus; } if (!pbus || !pbus->dev || !pbus->dev->ops || !pbus->dev->ops->ops_pci_bus) { - printk_alert("%s Cannot find pci bus operations", dev_path(dev)); + printk_emerg("%s Cannot find pci bus operations\n", dev_path(dev)); die(""); - for(;;); } return pbus; } diff --git a/src/devices/smbus_ops.c b/src/devices/smbus_ops.c index c66dbe62b..acf0b1f39 100644 --- a/src/devices/smbus_ops.c +++ b/src/devices/smbus_ops.c @@ -34,7 +34,6 @@ struct bus *get_pbus_smbus(device_t dev) if (!pbus || !pbus->dev || !pbus->dev->ops || !pbus->dev->ops->ops_smbus_bus) { printk_alert("%s Cannot find smbus bus operations", dev_path(dev)); die(""); - for(;;); } return pbus; } diff --git a/src/southbridge/intel/i82801dbm/i82801dbm_lpc.c b/src/southbridge/intel/i82801dbm/i82801dbm_lpc.c index cec09192b..51debe7d2 100644 --- a/src/southbridge/intel/i82801dbm/i82801dbm_lpc.c +++ b/src/southbridge/intel/i82801dbm/i82801dbm_lpc.c @@ -37,12 +37,12 @@ void i82801dbm_enable_ioapic( struct device *dev) dword=*ioapic_sbd; printk_debug("Southbridge apic id = %x\n",dword); if(dword!=(2<<24)) - for(;;); + die(""); //lyh *ioapic_sba=3; //lyh dword=*ioapic_sbd; //lyh printk_debug("Southbridge apic DT = %x\n",dword); //lyh if(dword!=1) - //lyh for(;;); + //lyh die(""); } -- 2.25.1