bsp/gen5200: Use fatal error instead of assert

This commit is contained in:
Sebastian Huber
2013-03-28 09:24:11 +01:00
parent 8ac62c4ea0
commit d1e1df686c
2 changed files with 10 additions and 4 deletions

View File

@@ -93,7 +93,7 @@ bool ata_set_transfer_mode(uint8_t mode)
return ata_check_status(); return ata_check_status();
} }
static bool probe() static bool probe(void)
{ {
bool card_present = true; bool card_present = true;
@@ -121,13 +121,17 @@ static void create_lock(ata_driver *self)
0, 0,
&self->lock &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) static void destroy_lock(const ata_driver *self)
{ {
rtems_status_code sc = rtems_semaphore_delete(self->lock); 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) void ata_driver_create(ata_driver *self, const char *device_file_path, rtems_block_device_ioctl io_control)

View File

@@ -233,7 +233,9 @@ typedef enum {
MPC5200_FATAL_MSCAN_B_SET_MODE, MPC5200_FATAL_MSCAN_B_SET_MODE,
MPC5200_FATAL_ATA_DISK_IO_INIT, MPC5200_FATAL_ATA_DISK_IO_INIT,
MPC5200_FATAL_ATA_DISK_CREATE, 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; } mpc5200_fatal_code;
void mpc5200_fatal(mpc5200_fatal_code code) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; void mpc5200_fatal(mpc5200_fatal_code code) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;