[rtems commit] bsp/gen5200: Use fatal error instead of assert

Sebastian Huber sebh at rtems.org
Thu Mar 28 08:22:16 UTC 2013


Module:    rtems
Branch:    master
Commit:    d1e1df686cb389885a11c5391fff1baca76c6449
Changeset: http://git.rtems.org/rtems/commit/?id=d1e1df686cb389885a11c5391fff1baca76c6449

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Mar 28 09:24:11 2013 +0100

bsp/gen5200: Use fatal error instead of assert

---

 c/src/lib/libbsp/powerpc/gen5200/ide/ata.c     |   10 +++++++---
 c/src/lib/libbsp/powerpc/gen5200/include/bsp.h |    4 +++-
 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 2fce1e1..8815092 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 9f30e66..fccf453 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;




More information about the vc mailing list