Hi Marek, On 02/29/2016 08:59 PM, Marek Vasut wrote: > The RX and TX ID mask for CAN2.0 is 11 bits wide. This patch fixes > the incorrect mask, which caused the CAN IDs to miss the MSBit both > on receive and transmit. > > Signed-off-by: Marek Vasut <ma...@denx.de> > Cc: Marc Kleine-Budde <m...@pengutronix.de> > Cc: Mark Rutland <mark.rutl...@arm.com> > Cc: Oliver Hartkopp <socket...@hartkopp.net> > Cc: Wolfgang Grandegger <w...@grandegger.com> > --- > drivers/net/can/ifi_canfd/ifi_canfd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/can/ifi_canfd/ifi_canfd.c > b/drivers/net/can/ifi_canfd/ifi_canfd.c > index 82a33bd..6704098 100644 > --- a/drivers/net/can/ifi_canfd/ifi_canfd.c > +++ b/drivers/net/can/ifi_canfd/ifi_canfd.c > @@ -135,7 +135,7 @@ > > #define IFI_CANFD_RXFIFO_ID 0x6c > #define IFI_CANFD_RXFIFO_ID_ID_OFFSET 0 > -#define IFI_CANFD_RXFIFO_ID_ID_STD_MASK 0x3ff > +#define IFI_CANFD_RXFIFO_ID_ID_STD_MASK 0x7ff > #define IFI_CANFD_RXFIFO_ID_ID_XTD_MASK 0x1fffffff
You should use the CAN_SFF_MASK and CAN_EFF_MASK in your code instead of defining you private IFI_CANFD_RXFIFO_ID_ID_?TD_MASK definitions. You won't have trapped into this problem then :-) > #define IFI_CANFD_RXFIFO_ID_IDE BIT(29) > > @@ -156,7 +156,7 @@ > > #define IFI_CANFD_TXFIFO_ID 0xbc > #define IFI_CANFD_TXFIFO_ID_ID_OFFSET 0 > -#define IFI_CANFD_TXFIFO_ID_ID_STD_MASK 0x3ff > +#define IFI_CANFD_TXFIFO_ID_ID_STD_MASK 0x7ff > #define IFI_CANFD_TXFIFO_ID_ID_XTD_MASK 0x1fffffff dito. Regards, Oliver > #define IFI_CANFD_TXFIFO_ID_IDE BIT(29) > >