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)
>  
> 

Reply via email to