Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3024760pxb; Mon, 18 Oct 2021 06:50:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxyRpE5bobKVQNkj87YCWmq4VrtK/Jp1AsYkkpQ0MZVH53TLTadvgFnj06T+fw05vRb0//f X-Received: by 2002:a05:6a00:c8c:b0:44d:c583:9b45 with SMTP id a12-20020a056a000c8c00b0044dc5839b45mr8350820pfv.28.1634565022624; Mon, 18 Oct 2021 06:50:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634565021; cv=none; d=google.com; s=arc-20160816; b=EtGezvD4/ZKudB1n6U04RWi1CEDrAdWcaBVmbWfdgjdPSghSpVRm7iRO/nkyKt5FL0 doT1captrhD7fOq6oOZxS/QYqQdsB2QlkxvGQDJSgwISYEPSZHCTD9CvUcds1uVjkjFM m5dCeMYnTl/er6Q1BSJQxOE2dKwWlsYaTS69GfBenZ5RVtVFxLbTUUPmpTIm9f/7CBCq HFnhgJmPoYnjZ29ACPxrO0isp3p/86hm0bJrcPAuxrninHL50jcpsQgLpQ2VluEe2Z8n OmnDJ2paVSZLlqV0/9h9W0ub75IrgBwBnO5Euibi0ou7qDZwDmFJ86mvfOUfcbjl4y2s 5+yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=zx6ehjx7N65UpnaaYh8eA+DrFIxr+xmpCPv6dIKaWwY=; b=oJNYsco1GWQzn9nY3IXagot9JEUbFZCWPrksScdkjgeoOAdcm4zWb7Cx51KH2Hz1Mr Pxv1krhsbOwWqgAxz+Gg02UpZC4ARfSTYQUF/pV25fd+DLcPEafLMOxF8/7i58uPzR4l 06VzTSb68u5PAls0fB65JmtpQr0i1/t09alq3PEQjdJGHmzWc7rkL1SrLGNauiaf0sZs lJohLAHpOGntyxJW8gt/G1dD8wly9rwCEZ3Q0PyX3tfNjDe5DDlHbAMdhcShMWSIZYCn n3PvKSoGgCNQent3ztKCaGXjBDwEcM+0MLICQGY7HcNnpkEP7DCe8yM4Jlj9WGPE3HYV x+zQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2ZoYdipu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e24si18493031pjr.129.2021.10.18.06.50.09; Mon, 18 Oct 2021 06:50:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2ZoYdipu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232574AbhJRNtf (ORCPT + 99 others); Mon, 18 Oct 2021 09:49:35 -0400 Received: from mail.kernel.org ([198.145.29.99]:49760 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233598AbhJRNrr (ORCPT ); Mon, 18 Oct 2021 09:47:47 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3AAFD613C8; Mon, 18 Oct 2021 13:36:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1634564193; bh=jqL16xTccPc2iQwfJ90ixrkDYzSs3Zd9Cx3u7sMDWFM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2ZoYdipuSNq7EjOJCVnVA3cFtXmKNCGAD9Sdar0pzG7lrixQZtN8ifd2kr2wkNopK in4Vpr2+y4/3xfmaqbNEAesuHl1yQqkZ4LZttGfH3bgRdbeJLOlFl7XlEBEsqVGOvw jgGVZtQMik+VerCumt7EyfFRCjJFvjVHxrzwrT4M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Baowen Zheng , Simon Horman , Louis Peens , Jakub Kicinski Subject: [PATCH 5.10 100/103] nfp: flow_offload: move flow_indr_dev_register from app init to app start Date: Mon, 18 Oct 2021 15:25:16 +0200 Message-Id: <20211018132338.102694295@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211018132334.702559133@linuxfoundation.org> References: <20211018132334.702559133@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Baowen Zheng commit 60d950f443a52d950126ad664fbd4a1eb8353dc9 upstream. In commit 74fc4f828769 ("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: 74fc4f828769 ("net: Fix offloading indirect devices dependency on qdisc order creation") Signed-off-by: Baowen Zheng Signed-off-by: Simon Horman Signed-off-by: Louis Peens Link: https://lore.kernel.org/r/20211012124850.13025-1-louis.peens@corigine.com Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/netronome/nfp/flower/main.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) --- a/drivers/net/ethernet/netronome/nfp/flower/main.c +++ b/drivers/net/ethernet/netronome/nfp/flower/main.c @@ -830,10 +830,6 @@ static int nfp_flower_init(struct nfp_ap if (err) goto err_cleanup; - err = flow_indr_dev_register(nfp_flower_indr_setup_tc_cb, app); - if (err) - goto err_cleanup; - if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM) nfp_flower_qos_init(app); @@ -942,7 +938,20 @@ static int nfp_flower_start(struct nfp_a return err; } - return nfp_tunnel_config_start(app); + err = flow_indr_dev_register(nfp_flower_indr_setup_tc_cb, app); + if (err) + return err; + + err = nfp_tunnel_config_start(app); + if (err) + goto err_tunnel_config; + + return 0; + +err_tunnel_config: + flow_indr_dev_unregister(nfp_flower_indr_setup_tc_cb, app, + nfp_flower_setup_indr_tc_release); + return err; } static void nfp_flower_stop(struct nfp_app *app)