lkml.org 
[lkml]   [2018]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 086/115] can: flex_can: Correct the checking for frame length in flexcan_start_xmit()
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Luu An Phu <phu.luuan@nxp.com>


    [ Upstream commit 13454c14550065fcc1705d6bd4ee6d40e057099f ]

    The flexcan_start_xmit() function compares the frame length with data
    register length to write frame content into data[0] and data[1]
    register. Data register length is 4 bytes and frame maximum length is 8
    bytes.

    Fix the check that compares frame length with 3. Because the register
    length is 4.

    Signed-off-by: Luu An Phu <phu.luuan@nxp.com>
    Reviewed-by: Oliver Hartkopp <socketcan@hartkopp.net>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/can/flexcan.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/net/can/flexcan.c
    +++ b/drivers/net/can/flexcan.c
    @@ -526,7 +526,7 @@ static int flexcan_start_xmit(struct sk_
    data = be32_to_cpup((__be32 *)&cf->data[0]);
    flexcan_write(data, &priv->tx_mb->data[0]);
    }
    - if (cf->can_dlc > 3) {
    + if (cf->can_dlc > 4) {
    data = be32_to_cpup((__be32 *)&cf->data[4]);
    flexcan_write(data, &priv->tx_mb->data[1]);
    }

    \
     
     \ /
      Last update: 2018-03-02 10:32    [W:4.213 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site