Message ID | 20110502145048.GF338@e-circ.dyndns.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 05/02/2011 04:50 PM, Kurt Van Dijck wrote: > RTR frames do have a valid data length code on CAN. > The driver for SJA1000 did not handle that situation properly. Looks good! > > Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> > --- > drivers/net/can/sja1000/sja1000.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sja1000.c > index a358ea9..f501bba 100644 > --- a/drivers/net/can/sja1000/sja1000.c > +++ b/drivers/net/can/sja1000/sja1000.c > @@ -346,10 +346,10 @@ static void sja1000_rx(struct net_device *dev) > | (priv->read_reg(priv, REG_ID2) >> 5); > } > > + cf->can_dlc = get_can_dlc(fi & 0x0F); > if (fi & FI_RTR) { > id |= CAN_RTR_FLAG; > } else { > - cf->can_dlc = get_can_dlc(fi & 0x0F); > for (i = 0; i < cf->can_dlc; i++) > cf->data[i] = priv->read_reg(priv, dreg++); > } > _______________________________________________ > Socketcan-core mailing list > Socketcan-core@lists.berlios.de > https://lists.berlios.de/mailman/listinfo/socketcan-core
From: Kurt Van Dijck <kurt.van.dijck@eia.be> Date: Mon, 2 May 2011 16:50:48 +0200 > RTR frames do have a valid data length code on CAN. > The driver for SJA1000 did not handle that situation properly. > > Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sja1000.c index a358ea9..f501bba 100644 --- a/drivers/net/can/sja1000/sja1000.c +++ b/drivers/net/can/sja1000/sja1000.c @@ -346,10 +346,10 @@ static void sja1000_rx(struct net_device *dev) | (priv->read_reg(priv, REG_ID2) >> 5); } + cf->can_dlc = get_can_dlc(fi & 0x0F); if (fi & FI_RTR) { id |= CAN_RTR_FLAG; } else { - cf->can_dlc = get_can_dlc(fi & 0x0F); for (i = 0; i < cf->can_dlc; i++) cf->data[i] = priv->read_reg(priv, dreg++); }
RTR frames do have a valid data length code on CAN. The driver for SJA1000 did not handle that situation properly. Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be> --- drivers/net/can/sja1000/sja1000.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html