diff options
author | Alexander Stein <alexander.stein@systec-electronic.com> | 2012-12-13 10:06:10 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-02-20 03:15:23 +0000 |
commit | 61869db60d56417729327e0218d8b4afcd396c10 (patch) | |
tree | 7938ba02e0294ec69495be841f0c2f66c9a10f94 | |
parent | b819a9646971e6f0bfad33a67459b23677cd5d1c (diff) | |
download | lwn-61869db60d56417729327e0218d8b4afcd396c10.tar.gz lwn-61869db60d56417729327e0218d8b4afcd396c10.zip |
can: c_can: Set reserved bit in IFx_MASK2 to 1 on write
commit 2bd3bc4e8472424f1a6009825397639a8968920a upstream.
According to C_CAN documentation, the reserved bit in IFx_MASK2 register is
fixed 1.
Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-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 21a3d77ea7e2..64647d4cf64c 100644 --- a/drivers/net/can/c_can/c_can.c +++ b/drivers/net/can/c_can/c_can.c @@ -446,8 +446,12 @@ static void c_can_setup_receive_object(struct net_device *dev, int iface, priv->write_reg(priv, &priv->regs->ifregs[iface].mask1, IFX_WRITE_LOW_16BIT(mask)); + + /* According to C_CAN documentation, the reserved bit + * in IFx_MASK2 register is fixed 1 + */ priv->write_reg(priv, &priv->regs->ifregs[iface].mask2, - IFX_WRITE_HIGH_16BIT(mask)); + IFX_WRITE_HIGH_16BIT(mask) | BIT(13)); priv->write_reg(priv, &priv->regs->ifregs[iface].arb1, IFX_WRITE_LOW_16BIT(id)); |