can: c_can: disable one shot mode until driver is fixed
This patch disables the one shot mode, until the driver has been fixed and tested to support it. > I'm quite sure I've seen a situation where msg_obj 17 "seemed" to be > pending, while msg_obj 18 and 19 already have been transmitted. But > in that case, I enabled ONESHOT for the can interface, which enables > the DA mode (automatic retransmission is disabled). Reported-by: Jan Altenberg <jan@linutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be> Cc: Bhupesh Sharma <bhupesh.sharma@st.com> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
53914b6799
Коммит
ee6f0988a6
|
@ -588,14 +588,9 @@ static void c_can_chip_config(struct net_device *dev)
|
|||
{
|
||||
struct c_can_priv *priv = netdev_priv(dev);
|
||||
|
||||
if (priv->can.ctrlmode & CAN_CTRLMODE_ONE_SHOT)
|
||||
/* disable automatic retransmission */
|
||||
priv->write_reg(priv, &priv->regs->control,
|
||||
CONTROL_DISABLE_AR);
|
||||
else
|
||||
/* enable automatic retransmission */
|
||||
priv->write_reg(priv, &priv->regs->control,
|
||||
CONTROL_ENABLE_AR);
|
||||
/* enable automatic retransmission */
|
||||
priv->write_reg(priv, &priv->regs->control,
|
||||
CONTROL_ENABLE_AR);
|
||||
|
||||
if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY &
|
||||
CAN_CTRLMODE_LOOPBACK)) {
|
||||
|
@ -1112,8 +1107,7 @@ struct net_device *alloc_c_can_dev(void)
|
|||
priv->can.bittiming_const = &c_can_bittiming_const;
|
||||
priv->can.do_set_mode = c_can_set_mode;
|
||||
priv->can.do_get_berr_counter = c_can_get_berr_counter;
|
||||
priv->can.ctrlmode_supported = CAN_CTRLMODE_ONE_SHOT |
|
||||
CAN_CTRLMODE_LOOPBACK |
|
||||
priv->can.ctrlmode_supported = CAN_CTRLMODE_LOOPBACK |
|
||||
CAN_CTRLMODE_LISTENONLY |
|
||||
CAN_CTRLMODE_BERR_REPORTING;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче