From: Alexander Stein Date: Thu, 13 Dec 2012 09:06:10 +0000 (+0100) Subject: can: c_can: Set reserved bit in IFx_MASK2 to 1 on write X-Git-Tag: v3.2.39~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=61869db60d56417729327e0218d8b4afcd396c10;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: Marc Kleine-Budde [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings --- diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c index 21a3d77ea7e22..64647d4cf64c3 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));