lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0442/1157] net: sched: provide shim definitions for taprio_offload_{get,free}
    Date
    From: Vladimir Oltean <vladimir.oltean@nxp.com>

    [ Upstream commit d7be266adbfd3aca6965ea6a0c36b2c3d8fc9fc8 ]

    All callers of taprio_offload_get() and taprio_offload_free() prior to
    the blamed commit are conditionally compiled based on CONFIG_NET_SCH_TAPRIO.

    felix_vsc9959.c is different; it provides vsc9959_qos_port_tas_set()
    even when taprio is compiled out.

    Provide shim definitions for the functions exported by taprio so that
    felix_vsc9959.c is able to compile. vsc9959_qos_port_tas_set() in that
    case is dead code anyway, and ocelot_port->taprio remains NULL, which is
    fine for the rest of the logic.

    Fixes: 1c9017e44af2 ("net: dsa: felix: keep reference on entire tc-taprio config")
    Reported-by: Colin Foster <colin.foster@in-advantage.com>
    Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Tested-by: Colin Foster <colin.foster@in-advantage.com>
    Acked-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
    Link: https://lore.kernel.org/r/20220704190241.1288847-1-vladimir.oltean@nxp.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    include/net/pkt_sched.h | 17 +++++++++++++++++
    1 file changed, 17 insertions(+)

    diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
    index 44a35531952e..3372a1f67cf4 100644
    --- a/include/net/pkt_sched.h
    +++ b/include/net/pkt_sched.h
    @@ -173,11 +173,28 @@ struct tc_taprio_qopt_offload {
    struct tc_taprio_sched_entry entries[];
    };

    +#if IS_ENABLED(CONFIG_NET_SCH_TAPRIO)
    +
    /* Reference counting */
    struct tc_taprio_qopt_offload *taprio_offload_get(struct tc_taprio_qopt_offload
    *offload);
    void taprio_offload_free(struct tc_taprio_qopt_offload *offload);

    +#else
    +
    +/* Reference counting */
    +static inline struct tc_taprio_qopt_offload *
    +taprio_offload_get(struct tc_taprio_qopt_offload *offload)
    +{
    + return NULL;
    +}
    +
    +static inline void taprio_offload_free(struct tc_taprio_qopt_offload *offload)
    +{
    +}
    +
    +#endif
    +
    /* Ensure skb_mstamp_ns, which might have been populated with the txtime, is
    * not mistaken for a software timestamp, because this will otherwise prevent
    * the dispatch of hardware timestamps to the socket.
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 01:55    [W:4.494 / U:0.136 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site