diff options
author | David S. Miller <davem@davemloft.net> | 2013-02-02 23:09:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-02 23:09:32 -0500 |
commit | 59fa534874e6779082275d12d950e26c67c86498 (patch) | |
tree | 399407f2a84b08d6153b649f834b4693569af369 | |
parent | 559bcac35facfed49ab4f408e162971612dcfdf3 (diff) | |
parent | 2bd3bc4e8472424f1a6009825397639a8968920a (diff) |
Merge branch 'fixes-for-3.8' of git://gitorious.org/linux-can/linux-can
Marc Kleine-Budde says:
====================
here's a patch for net for the v3.8 release cycle. Alexander Stein noticed that
the c_can hardware has a fixed bit in the IFx_MASK2 register. His patch fixes
writing of this register by always setting this bit.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/can/c_can/c_can.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c index 58607f196c9e..2282b1ae9765 100644 --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c | |||
@@ -488,8 +488,12 @@ static void c_can_setup_receive_object(struct net_device *dev, int iface, | |||
488 | 488 | ||
489 | priv->write_reg(priv, C_CAN_IFACE(MASK1_REG, iface), | 489 | priv->write_reg(priv, C_CAN_IFACE(MASK1_REG, iface), |
490 | IFX_WRITE_LOW_16BIT(mask)); | 490 | IFX_WRITE_LOW_16BIT(mask)); |
491 | |||
492 | /* According to C_CAN documentation, the reserved bit | ||
493 | * in IFx_MASK2 register is fixed 1 | ||
494 | */ | ||
491 | priv->write_reg(priv, C_CAN_IFACE(MASK2_REG, iface), | 495 | priv->write_reg(priv, C_CAN_IFACE(MASK2_REG, iface), |
492 | IFX_WRITE_HIGH_16BIT(mask)); | 496 | IFX_WRITE_HIGH_16BIT(mask) | BIT(13)); |
493 | 497 | ||
494 | priv->write_reg(priv, C_CAN_IFACE(ARB1_REG, iface), | 498 | priv->write_reg(priv, C_CAN_IFACE(ARB1_REG, iface), |
495 | IFX_WRITE_LOW_16BIT(id)); | 499 | IFX_WRITE_LOW_16BIT(id)); |