mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
linux: fir kernel 6.1 upsteam patch
This commit is contained in:
parent
4ae5efe494
commit
04147dcaf5
@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
|
--- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
|
||||||
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
|
+++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c
|
||||||
@@ -554,6 +554,7 @@ mtk_eth_setup_tc_block(struct net_device
|
@@ -554,6 +554,7 @@
|
||||||
struct mtk_eth *eth = mac->hw;
|
struct mtk_eth *eth = mac->hw;
|
||||||
static LIST_HEAD(block_cb_list);
|
static LIST_HEAD(block_cb_list);
|
||||||
struct flow_block_cb *block_cb;
|
struct flow_block_cb *block_cb;
|
||||||
@ -21,27 +21,27 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
flow_setup_cb_t *cb;
|
flow_setup_cb_t *cb;
|
||||||
|
|
||||||
if (!eth->soc->offload_version)
|
if (!eth->soc->offload_version)
|
||||||
@@ -568,16 +569,20 @@ mtk_eth_setup_tc_block(struct net_device
|
@@ -568,17 +569,19 @@
|
||||||
switch (f->command) {
|
switch (f->command) {
|
||||||
case FLOW_BLOCK_BIND:
|
case FLOW_BLOCK_BIND:
|
||||||
block_cb = flow_block_cb_lookup(f->block, cb, dev);
|
block_cb = flow_block_cb_lookup(f->block, cb, dev);
|
||||||
- if (block_cb) {
|
- if (block_cb) {
|
||||||
- flow_block_cb_incref(block_cb);
|
- flow_block_cb_incref(block_cb);
|
||||||
- return 0;
|
- return 0;
|
||||||
|
- }
|
||||||
|
- block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
|
||||||
|
- if (IS_ERR(block_cb))
|
||||||
|
- return PTR_ERR(block_cb);
|
||||||
+ if (!block_cb) {
|
+ if (!block_cb) {
|
||||||
+ block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
|
+ block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
|
||||||
+ if (IS_ERR(block_cb))
|
+ if (IS_ERR(block_cb))
|
||||||
+ return PTR_ERR(block_cb);
|
+ return PTR_ERR(block_cb);
|
||||||
+
|
|
||||||
+ register_block = true;
|
|
||||||
}
|
|
||||||
- block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
|
|
||||||
- if (IS_ERR(block_cb))
|
|
||||||
- return PTR_ERR(block_cb);
|
|
||||||
|
|
||||||
|
+ register_block = true;
|
||||||
|
+ }
|
||||||
|
flow_block_cb_incref(block_cb);
|
||||||
- flow_block_cb_add(block_cb, f);
|
- flow_block_cb_add(block_cb, f);
|
||||||
- list_add_tail(&block_cb->driver_list, &block_cb_list);
|
- list_add_tail(&block_cb->driver_list, &block_cb_list);
|
||||||
+ flow_block_cb_incref(block_cb);
|
|
||||||
+
|
+
|
||||||
+ if (register_block) {
|
+ if (register_block) {
|
||||||
+ flow_block_cb_add(block_cb, f);
|
+ flow_block_cb_add(block_cb, f);
|
||||||
|
Loading…
Reference in New Issue
Block a user