On 21.10.2010 19:53, Marc Kleine-Budde wrote:
> While there, remove clearing of data if the dlc isn't longer as 4.
> can frames have data initializes to zero.
> 
> Signed-off-by: Marc Kleine-Budde <[email protected]>
> Cc:Anant Gole <[email protected]>
> ---
>  drivers/net/can/ti_hecc.c |   19 ++++++++++---------
>  1 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/net/can/ti_hecc.c b/drivers/net/can/ti_hecc.c
> index 4d07f1e..a640fd8 100644
> --- a/drivers/net/can/ti_hecc.c
> +++ b/drivers/net/can/ti_hecc.c
> @@ -560,18 +560,19 @@ static int ti_hecc_rx_pkt(struct ti_hecc_priv *priv, 
> int mbxno)
>               cf->can_id = (data & CAN_EFF_MASK) | CAN_EFF_FLAG;
>       else
>               cf->can_id = (data >> 18) & CAN_SFF_MASK;
> +
>       data = hecc_read_mbx(priv, mbxno, HECC_CANMCF);
> -     if (data & HECC_CANMCF_RTR)
> -             cf->can_id |= CAN_RTR_FLAG;
>       cf->can_dlc = get_can_dlc(data & 0xF);
> -     data = hecc_read_mbx(priv, mbxno, HECC_CANMDL);
> -     *(u32 *)(cf->data) = cpu_to_be32(data);
> -     if (cf->can_dlc > 4) {
> -             data = hecc_read_mbx(priv, mbxno, HECC_CANMDH);
> -             *(u32 *)(cf->data + 4) = cpu_to_be32(data);
> -     } else {
> -             *(u32 *)(cf->data + 4) = 0;
> +     if (data & HECC_CANMCF_RTR) {
> +             cf->can_id |= CAN_RTR_FLAG;
> +             data = hecc_read_mbx(priv, mbxno, HECC_CANMDL);
> +             *(u32 *)(cf->data) = cpu_to_be32(data);
> +             if (cf->can_dlc > 4) {
> +                     data = hecc_read_mbx(priv, mbxno, HECC_CANMDH);
> +                     *(u32 *)(cf->data + 4) = cpu_to_be32(data);
> +             }
>       }
> +

Are you sure?

For me it looks like only RTR frames copy CAN data[] which would be inverse to
the original idea.

Regards,
Oliver
_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to