Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can: mcp251xfd: mcp251xfd_ring_alloc(): fix coalescing configuration … #6466

Merged
merged 1 commit into from
Nov 14, 2024

Commits on Nov 13, 2024

  1. can: mcp251xfd: mcp251xfd_ring_alloc(): fix coalescing configuration …

    …when switching CAN modes
    
    commit eb9a839 upstream.
    
    Since commit 50ea544 ("can: mcp251xfd: fix ring configuration
    when switching from CAN-CC to CAN-FD mode"), the current ring and
    coalescing configuration is passed to can_ram_get_layout(). That fixed
    the issue when switching between CAN-CC and CAN-FD mode with
    configured ring (rx, tx) and/or coalescing parameters (rx-frames-irq,
    tx-frames-irq).
    
    However 50ea544 ("can: mcp251xfd: fix ring configuration when
    switching from CAN-CC to CAN-FD mode"), introduced a regression when
    switching CAN modes with disabled coalescing configuration: Even if
    the previous CAN mode has no coalescing configured, the new mode is
    configured with active coalescing. This leads to delayed receiving of
    CAN-FD frames.
    
    This comes from the fact, that ethtool uses usecs = 0 and max_frames =
    1 to disable coalescing, however the driver uses internally
    priv->{rx,tx}_obj_num_coalesce_irq = 0 to indicate disabled
    coalescing.
    
    Fix the regression by assigning struct ethtool_coalesce
    ec->{rx,tx}_max_coalesced_frames_irq = 1 if coalescing is disabled in
    the driver as can_ram_get_layout() expects this.
    
    Reported-by: https://github.com/vdh-robothania
    Closes: raspberrypi#6407
    Fixes: 50ea544 ("can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode")
    Cc: [email protected]
    Reviewed-by: Simon Horman <[email protected]>
    Link: https://patch.msgid.link/20241025-mcp251xfd-fix-coalesing-v1-1-9d11416de1df@pengutronix.de
    Signed-off-by: Marc Kleine-Budde <[email protected]>
    marckleinebudde authored and pelwell committed Nov 13, 2024
    Configuration menu
    Copy the full SHA
    a3964be View commit details
    Browse the repository at this point in the history