summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-03-28 09:24:11 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-03-28 09:24:11 +0100
commitd1e1df686cb389885a11c5391fff1baca76c6449 (patch)
tree12e0e6ea756642b5a1b95176c08f301454636af0
parentbsps/arm: Add thread-local storage (TLS) sections (diff)
downloadrtems-d1e1df686cb389885a11c5391fff1baca76c6449.tar.bz2
bsp/gen5200: Use fatal error instead of assert
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/ide/ata.c10
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/include/bsp.h4
2 files changed, 10 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ide/ata.c b/c/src/lib/libbsp/powerpc/gen5200/ide/ata.c
index 2fce1e1219..88150928f2 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/ide/ata.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/ide/ata.c
@@ -93,7 +93,7 @@ bool ata_set_transfer_mode(uint8_t mode)
return ata_check_status();
}
-static bool probe()
+static bool probe(void)
{
bool card_present = true;
@@ -121,13 +121,17 @@ static void create_lock(ata_driver *self)
0,
&self->lock
);
- assert(sc == RTEMS_SUCCESSFUL);
+ if (sc != RTEMS_SUCCESSFUL) {
+ mpc5200_fatal(MPC5200_FATAL_ATA_LOCK_CREATE);
+ }
}
static void destroy_lock(const ata_driver *self)
{
rtems_status_code sc = rtems_semaphore_delete(self->lock);
- assert(sc == RTEMS_SUCCESSFUL);
+ if (sc != RTEMS_SUCCESSFUL) {
+ mpc5200_fatal(MPC5200_FATAL_ATA_LOCK_DESTROY);
+ }
}
void ata_driver_create(ata_driver *self, const char *device_file_path, rtems_block_device_ioctl io_control)
diff --git a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h
index 9f30e66488..fccf453870 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h
+++ b/c/src/lib/libbsp/powerpc/gen5200/include/bsp.h
@@ -233,7 +233,9 @@ typedef enum {
MPC5200_FATAL_MSCAN_B_SET_MODE,
MPC5200_FATAL_ATA_DISK_IO_INIT,
MPC5200_FATAL_ATA_DISK_CREATE,
- MPC5200_FATAL_ATA_DMA_SINGLE_IRQ_INSTALL
+ MPC5200_FATAL_ATA_DMA_SINGLE_IRQ_INSTALL,
+ MPC5200_FATAL_ATA_LOCK_CREATE,
+ MPC5200_FATAL_ATA_LOCK_DESTROY
} mpc5200_fatal_code;
void mpc5200_fatal(mpc5200_fatal_code code) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;