diff options
| author | Thomas Zimmermann <[email protected]> | 2024-02-07 12:01:19 +0000 |
|---|---|---|
| committer | Thomas Zimmermann <[email protected]> | 2024-02-07 12:02:20 +0000 |
| commit | 0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f (patch) | |
| tree | 75b387bc359637c15b90ababb1ff073ca68b5bd8 /net/sched/cls_api.c | |
| parent | drm: mipi-dsi: make mipi_dsi_bus_type const (diff) | |
| parent | Merge tag 'drm-misc-next-2024-01-11' of git://anongit.freedesktop.org/drm/drm... (diff) | |
| download | kernel-0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f.tar.gz kernel-0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f.zip | |
Merge drm/drm-next into drm-misc-next
Backmerging to update drm-misc-next to the state of v6.8-rc3. Also
fixes a build problem with xe.
Signed-off-by: Thomas Zimmermann <[email protected]>
Diffstat (limited to 'net/sched/cls_api.c')
| -rw-r--r-- | net/sched/cls_api.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 92a12e3d0fe6..ff3d396a65aa 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -1560,6 +1560,9 @@ tcf_block_playback_offloads(struct tcf_block *block, flow_setup_cb_t *cb, chain_prev = chain, chain = __tcf_get_next_chain(block, chain), tcf_chain_put(chain_prev)) { + if (chain->tmplt_ops && add) + chain->tmplt_ops->tmplt_reoffload(chain, true, cb, + cb_priv); for (tp = __tcf_get_next_proto(chain, NULL); tp; tp_prev = tp, tp = __tcf_get_next_proto(chain, tp), @@ -1575,6 +1578,9 @@ tcf_block_playback_offloads(struct tcf_block *block, flow_setup_cb_t *cb, goto err_playback_remove; } } + if (chain->tmplt_ops && !add) + chain->tmplt_ops->tmplt_reoffload(chain, false, cb, + cb_priv); } return 0; @@ -3000,7 +3006,8 @@ static int tc_chain_tmplt_add(struct tcf_chain *chain, struct net *net, ops = tcf_proto_lookup_ops(name, true, extack); if (IS_ERR(ops)) return PTR_ERR(ops); - if (!ops->tmplt_create || !ops->tmplt_destroy || !ops->tmplt_dump) { + if (!ops->tmplt_create || !ops->tmplt_destroy || !ops->tmplt_dump || + !ops->tmplt_reoffload) { NL_SET_ERR_MSG(extack, "Chain templates are not supported with specified classifier"); module_put(ops->owner); return -EOPNOTSUPP; |
