Commit 9b565c5b authored by Federico Vaga's avatar Federico Vaga

*: return if enabling WR command has been executed or not

Do not return the link status because most likely is wrong. It takes
time before it gets synced.
Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent b45c54a1
......@@ -136,7 +136,6 @@ void ft_set_vcxo_tune(struct fmctdc_dev *ft, int value)
int ft_wr_mode(struct fmctdc_dev *ft, int on)
{
unsigned long flags;
uint32_t wr_stat;
spin_lock_irqsave(&ft->lock, flags);
......@@ -151,9 +150,6 @@ int ft_wr_mode(struct fmctdc_dev *ft, int on)
spin_unlock_irqrestore(&ft->lock, flags);
wr_stat = ft_readl(ft, TDC_REG_WR_STAT);
if (!(wr_stat & TDC_WR_STAT_LINK))
return -ENOLINK;
return 0;
}
......
......@@ -833,18 +833,13 @@ int fmctdc_set_host_time(struct fmctdc_board *userb)
* It enables/disables the WhiteRabbit timing system on a TDC device
* @param[in] userb TDC board instance token
* @param[in] on white-rabbit status to set
* @return 0 on successful ON, -ENOLINK on successful OFF, otherwise other
* erro codes
* @return 0 on success, otherwise -1 and errno is set appropriately
*/
int fmctdc_wr_mode(struct fmctdc_board *userb, int on)
{
__define_board(b, userb);
if (on)
__fmctdc_command(b, FT_CMD_WR_ENABLE);
else
__fmctdc_command(b, FT_CMD_WR_DISABLE);
return errno;
return __fmctdc_command(b, on ? FT_CMD_WR_ENABLE : FT_CMD_WR_DISABLE);
}
......
......@@ -219,11 +219,13 @@ static void fmctdc_param_test7(struct m_test *m_test)
ret = fmctdc_wr_mode(tdc, 1);
m_assert_int_eq(0, ret);
sleep(2);
ret = fmctdc_check_wr_mode(tdc);
m_assert_int_eq(0, ret);
ret = fmctdc_wr_mode(tdc, 0);
m_assert_int_eq(ENOLINK, ret);
m_assert_int_eq(0, ret);
sleep(2);
ret = fmctdc_check_wr_mode(tdc);
m_assert_int_eq(ENODEV, ret);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment