1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/netronome/nfp
Baowen Zheng 60d950f443 nfp: flow_offload: move flow_indr_dev_register from app init to app start
In commit 74fc4f8287 ("net: Fix offloading indirect devices dependency
on qdisc order creation"), it adds a process to trigger the callback to
setup the bo callback when the driver regists a callback.

In our current implement, we are not ready to run the callback when nfp
call the function flow_indr_dev_register, then there will be error
message as:

kernel: Oops: 0000 [#1] SMP PTI
kernel: CPU: 0 PID: 14119 Comm: kworker/0:0 Tainted: G
kernel: Workqueue: events work_for_cpu_fn
kernel: RIP: 0010:nfp_flower_indr_setup_tc_cb+0x258/0x410
kernel: RSP: 0018:ffffbc1e02c57bf8 EFLAGS: 00010286
kernel: RAX: 0000000000000000 RBX: ffff9c761fabc000 RCX: 0000000000000001
kernel: RDX: 0000000000000001 RSI: fffffffffffffff0 RDI: ffffffffc0be9ef1
kernel: RBP: ffffbc1e02c57c58 R08: ffffffffc08f33aa R09: ffff9c6db7478800
kernel: R10: 0000009c003f6e00 R11: ffffbc1e02800000 R12: ffffbc1e000d9000
kernel: R13: ffffbc1e000db428 R14: ffff9c6db7478800 R15: ffff9c761e884e80
kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kernel: CR2: fffffffffffffff0 CR3: 00000009e260a004 CR4: 00000000007706f0
kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
kernel: PKRU: 55555554
kernel: Call Trace:
kernel: ? flow_indr_dev_register+0xab/0x210
kernel: ? __cond_resched+0x15/0x30
kernel: ? kmem_cache_alloc_trace+0x44/0x4b0
kernel: ? nfp_flower_setup_tc+0x1d0/0x1d0 [nfp]
kernel: flow_indr_dev_register+0x158/0x210
kernel: ? tcf_block_unbind+0xe0/0xe0
kernel: nfp_flower_init+0x40b/0x650 [nfp]
kernel: nfp_net_pci_probe+0x25f/0x960 [nfp]
kernel: ? nfp_rtsym_read_le+0x76/0x130 [nfp]
kernel: nfp_pci_probe+0x6a9/0x820 [nfp]
kernel: local_pci_probe+0x45/0x80

So we need to call flow_indr_dev_register in app start process instead of
init stage.

Fixes: 74fc4f8287 ("net: Fix offloading indirect devices dependency on qdisc order creation")
Signed-off-by: Baowen Zheng <baowen.zheng@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
Link: https://lore.kernel.org/r/20211012124850.13025-1-louis.peens@corigine.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-10-12 16:07:52 -07:00
..
abm nfp: Replace nfp_pr_et with ethtool_sprintf 2021-03-17 11:42:30 -07:00
bpf ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx 2021-03-29 17:09:51 -07:00
crypto nfp: silence set but not used warning with IPV6=n 2020-12-09 19:42:03 -08:00
flower nfp: flow_offload: move flow_indr_dev_register from app init to app start 2021-10-12 16:07:52 -07:00
nfpcore nfp: use list_move instead of list_del/list_add in nfp_cppcore.c 2021-06-09 13:55:37 -07:00
nic treewide: remove dummy Makefiles for single targets 2019-08-21 21:05:21 +09:00
ccm.c nfp: add support for sending control messages via mailbox 2019-06-06 14:13:39 -07:00
ccm.h nfp: tls: implement the stream sync RX resync 2019-12-19 17:46:51 -08:00
ccm_mbox.c net: netronome: nfp: Fix wrong function name in comments 2021-05-17 14:12:39 -07:00
devlink_param.c nfp: devlink: set unknown fw_load_policy 2019-09-11 15:10:05 +01:00
Makefile nfp: flower-ct: add pre and post ct checks 2021-06-02 14:04:41 -07:00
nfp_abi.h nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_app.c nfp: add offloads on representors 2018-11-30 13:30:44 -08:00
nfp_app.h drivers: net: ethernet: struct sk_buff is declared duplicately 2021-03-25 17:04:15 -07:00
nfp_app_nic.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_asm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nfp_asm.h nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_devlink.c nfp: devlink: initialize the devlink port attribute "lanes" 2021-04-21 10:26:35 -07:00
nfp_hwmon.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_main.c devlink: Set device as early as possible 2021-08-09 10:21:40 +01:00
nfp_main.h devlink: move request_firmware out of driver 2020-11-19 21:40:57 -08:00
nfp_net.h nfp: add support for coalesce adaptive feature 2021-07-26 12:21:47 +01:00
nfp_net_common.c nfp: use netif_set_real_num_queues() 2021-08-04 10:05:13 +01:00
nfp_net_ctrl.c nfp: tls: implement the stream sync RX resync 2019-12-19 17:46:51 -08:00
nfp_net_ctrl.h nfp: tls: implement the stream sync RX resync 2019-12-19 17:46:51 -08:00
nfp_net_debugdump.c netronome: Replace zero-length array with flexible-array member 2020-02-24 15:26:17 -08:00
nfp_net_debugfs.c nfp: no need to check return value of debugfs_create functions 2019-08-10 15:25:48 -07:00
nfp_net_ethtool.c ethtool: extend coalesce setting uAPI with CQE mode 2021-08-24 07:38:29 -07:00
nfp_net_main.c devlink: Set device as early as possible 2021-08-09 10:21:40 +01:00
nfp_net_repr.c nfp: Fix fall-through warnings for Clang 2021-05-17 19:06:13 -05:00
nfp_net_repr.h netronome: Replace zero-length array with flexible-array member 2020-02-24 15:26:17 -08:00
nfp_net_sriov.c nfp: add SR-IOV trusted VF support 2019-04-19 21:00:31 -07:00
nfp_net_sriov.h nfp: add SR-IOV trusted VF support 2019-04-19 21:00:31 -07:00
nfp_netvf_main.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
nfp_port.c nfp: reintroduce ndo_get_port_parent_id for representor ports 2019-05-08 16:32:36 -07:00
nfp_port.h nfp: Replace nfp_pr_et with ethtool_sprintf 2021-03-17 11:42:30 -07:00
nfp_shared_buf.c net: devlink: report cell size of shared buffers 2019-02-03 11:25:34 -08:00