diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-09-05 13:24:26 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-09-05 13:24:26 +0000 |
commit | 9a49a969e8286ef9f2a89973bfddff8678c47140 (patch) | |
tree | c526df1d2dcd7d123184cca89b82f3d259ca5d32 /c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c | |
parent | Remove bogus entry. (diff) | |
download | rtems-9a49a969e8286ef9f2a89973bfddff8678c47140.tar.bz2 |
Improved parameter checks for bit rate function.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c index efbc97237c..61c281eb94 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c +++ b/c/src/lib/libbsp/powerpc/gen5200/mscan/mscan.c @@ -495,7 +495,7 @@ void mpc5200_mscan_perform_initialization_mode_settings(mscan *m) mscan_context context; /* perform all can bit time settings */ - mscan_set_bit_rate(m, CAN_BIT_RATE); + (void) mscan_set_bit_rate(m, MSCAN_BIT_RATE_DEFAULT); /* Enter initialization mode */ mscan_initialization_mode_enter( m, &context); @@ -1185,26 +1185,17 @@ rtems_device_driver mscan_control(rtems_device_major_number major, /* set can bitrate */ case MSCAN_SET_BAUDRATE: - - /* check bitrate settings */ - if (((ctrl_parms->ctrl_can_bitrate) >= CAN_BIT_RATE_MIN) - && ((ctrl_parms->ctrl_can_bitrate) <= CAN_BIT_RATE_MAX)) { - - /* perform all can bit time settings */ - mscan_set_bit_rate(m, ctrl_parms->ctrl_can_bitrate); - - /* enable ints. */ - mscan_interrupts_enable(m); - - /* wait for bus sync. */ - mpc5200_mscan_wait_sync(m); - - return RTEMS_SUCCESSFUL; - } else { - + /* perform all can bit time settings */ + if (!mscan_set_bit_rate(m, ctrl_parms->ctrl_can_bitrate)) { return RTEMS_UNSATISFIED; } + /* enable ints. */ + mscan_interrupts_enable(m); + + /* wait for bus sync. */ + mpc5200_mscan_wait_sync(m); + break; case SET_TX_BUF_NO: |