From patchwork Sat Jul 25 04:43:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sundeep subbaraya X-Patchwork-Id: 1336173 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=dO/FzQEK; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BDD4f05p0z9sRR for ; Sat, 25 Jul 2020 14:44:34 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726666AbgGYEoN (ORCPT ); Sat, 25 Jul 2020 00:44:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725825AbgGYEoN (ORCPT ); Sat, 25 Jul 2020 00:44:13 -0400 Received: from mail-pj1-x1043.google.com (mail-pj1-x1043.google.com [IPv6:2607:f8b0:4864:20::1043]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09419C0619D3 for ; Fri, 24 Jul 2020 21:44:13 -0700 (PDT) Received: by mail-pj1-x1043.google.com with SMTP id mn17so6448339pjb.4 for ; Fri, 24 Jul 2020 21:44:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jrzGaiLKHqZqkLl9ScsX3SMhjOpuWszxik9ksIsSN3g=; b=dO/FzQEKCjzj27OdE5OpmPqmu28lYUahgb9R4b8gvdJO1itjzm3WKA9EIyOAPJBh62 IcUUI0zW55QePAGPuUEPp5fnrYlI/G+BUOScZ5mXfI21795VeNjwaDWCLtSH97xbtw4d kJ+cMUebNsqFaXtVvUfxXQD/UaSVKh5cgOWszzmAnH1DWhQ7sg6nh94XygqkXZuYp+hn FhZaca1Ju6FhNnugFjA3YfXlM1aGZBpZF0jMYNwBGVBkGC3kvWzqlEVhL7xgXf6L0HSo T50A+ZSQ1UQj/idmhVJgNDswua/hLlxdTjO21aMzilnxPi4kkOnxAejtClYL6tt69TlF b3KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jrzGaiLKHqZqkLl9ScsX3SMhjOpuWszxik9ksIsSN3g=; b=jgokiU2wkI00PP/BO8mmwZBqbExWeOc9SpTe6y2H2+0nozv0ccMcr1k/1lOyJdTday 5aYf9C/dq5YA2KkrB+ZNx2AwRAj21BjVXu/sNmg9pjPVwXN7cYNW3qTNzpSXiEMcI+Kb a06M/Se7lS3LF8XIKQeuEjwzyv0cd8Qie+sLRsmVJK9lUDJ9REtStps4up98P2BVvCKK otvcU8vCZRCSyezZTPeFYix32e2V0CpMJx1XGgV5lx7no8r6yu7PH2ZZykqkiRs3DbE7 MsOfREolu24TxChmCF83NaFheUvZVjg3MxVj9H4EwlF8Xbq2H9VKgqb3zFkGSORJ8cIx PkXQ== X-Gm-Message-State: AOAM5333rrQm/KcnM2bTjsuIpnApfmf4p/OMX59aJVHyKbJFrJ0yLndX 83KspJPmV1DJW3OUMnPxFeLyXaTS/RI= X-Google-Smtp-Source: ABdhPJxSCEY0TB4dKM6yA80aCYaHvy35YlyWWFjlJ94G7Szx5uIbu7QxDs93MuoXWw0VBrSQtcIhog== X-Received: by 2002:a17:90b:196:: with SMTP id t22mr8886789pjs.13.1595652252609; Fri, 24 Jul 2020 21:44:12 -0700 (PDT) Received: from hyd1358.caveonetworks.com ([115.113.156.2]) by smtp.googlemail.com with ESMTPSA id e18sm7906618pff.37.2020.07.24.21.44.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jul 2020 21:44:12 -0700 (PDT) From: sundeep.lkml@gmail.com To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: sgoutham@marvell.com, sbhatta@marvell.com Subject: [PATCH net v2 1/3] octeontx2-pf: Fix reset_task bugs Date: Sat, 25 Jul 2020 10:13:52 +0530 Message-Id: <1595652234-29834-2-git-send-email-sundeep.lkml@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> References: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Subbaraya Sundeep Two bugs exist in the code related to reset_task in PF driver one is the missing protection against network stack ndo_open and ndo_close. Other one is the missing cancel_work. This patch fixes those problems. Fixes: 4ff7d1488a84 ("octeontx2-pf: Error handling support") Signed-off-by: Subbaraya Sundeep Signed-off-by: Sunil Goutham --- v2 changes: None drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c index 6478656..75a8c40 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -1730,10 +1730,12 @@ static void otx2_reset_task(struct work_struct *work) if (!netif_running(pf->netdev)) return; + rtnl_lock(); otx2_stop(pf->netdev); pf->reset_count++; otx2_open(pf->netdev); netif_trans_update(pf->netdev); + rtnl_unlock(); } static const struct net_device_ops otx2_netdev_ops = { @@ -2111,6 +2113,7 @@ static void otx2_remove(struct pci_dev *pdev) pf = netdev_priv(netdev); + cancel_work_sync(&pf->reset_task); /* Disable link notifications */ otx2_cgx_config_linkevents(pf, false); From patchwork Sat Jul 25 04:43:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sundeep subbaraya X-Patchwork-Id: 1336174 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=NsyK+yVL; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BDD4f4JtMz9sR4 for ; Sat, 25 Jul 2020 14:44:34 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726719AbgGYEoQ (ORCPT ); Sat, 25 Jul 2020 00:44:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725825AbgGYEoP (ORCPT ); Sat, 25 Jul 2020 00:44:15 -0400 Received: from mail-pl1-x641.google.com (mail-pl1-x641.google.com [IPv6:2607:f8b0:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B5BDC0619D3 for ; Fri, 24 Jul 2020 21:44:15 -0700 (PDT) Received: by mail-pl1-x641.google.com with SMTP id p1so5619777pls.4 for ; Fri, 24 Jul 2020 21:44:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=RqYpy0rf+o52vw2Zo+dDTqXAZHzBcEsbNQifU/XR6KU=; b=NsyK+yVLCAUi+lFtcuHGdaMa3bBzMyrOJq9OVKlHM9XI+wqnxQLp2ufP7bjy43nqw3 H6kqhfkhsYNf2NgHfjlnrIVsD9CTfSw6I7N4jE8lb6n0bnYptZ9w6KGzb5Ul2rdbCKAb JJWhjJg38VjO6WGfk7yScTqCD66Ad8JDe81VVR9Cq6CGF3BBgk3pogsQkZ4Tas+HTQdl Z64bvifi04TeyG6niKMe//VLhef8OTCkUWlETID8lyWwx35xYtrHhDZ9bECtrBPpDm20 OGbeH3yCVVkoOk6hwWfPefQ062wueo/GP3hwW6XH32pJLCU1jJJT5gTE+zNonhsEyOhA pXqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=RqYpy0rf+o52vw2Zo+dDTqXAZHzBcEsbNQifU/XR6KU=; b=A+aW/N8sHffE6aZCMjLTJbPqCQxBFzXwOha5RcLWXaI/gn/oGvRi3qs5eksgCJEaOj ue5yqno7WqONxiwNXIJAfaOEnPkFw/e7kk9NhGm/5+EAME6Q8+5ljR51q10IGHeVa994 nAgkCbHM5LA5+TYSIL/zcuogqlrCLMnEVFv/I3rjt5SJaZhmd0RnUXvtV3PZH0K6pE9n xkHHNe0RKVmoocOUVS0EtsJ+2cHSYtKCEZjMFX0jvVq830HGN+ilDcZwwKsF9fIGKO8U uXobCT8Sebkm+yjCYNSlQ3hmKNIPXVZ5Xtd3EI89pTgjyaPLu5j28G/B7YWFkSjL27iV m4nQ== X-Gm-Message-State: AOAM532Q4RbOeGol8Q19OArBbkM3UEwAFi66LoFue0OF2C202sHBoyan TqgM5ypwteq3jiJOUGzNYRQ= X-Google-Smtp-Source: ABdhPJwt5rH574OyUKnMFR8tiDuO1FDy1c0ehYmcuIOqeIgFWco5YU5TACZfRhKy9kHKWf7XiTKLLw== X-Received: by 2002:a17:90b:3114:: with SMTP id gc20mr8383010pjb.233.1595652255058; Fri, 24 Jul 2020 21:44:15 -0700 (PDT) Received: from hyd1358.caveonetworks.com ([115.113.156.2]) by smtp.googlemail.com with ESMTPSA id e18sm7906618pff.37.2020.07.24.21.44.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jul 2020 21:44:14 -0700 (PDT) From: sundeep.lkml@gmail.com To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: sgoutham@marvell.com, sbhatta@marvell.com Subject: [PATCH net v2 2/3] octeontx2-pf: cancel reset_task work Date: Sat, 25 Jul 2020 10:13:53 +0530 Message-Id: <1595652234-29834-3-git-send-email-sundeep.lkml@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> References: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Subbaraya Sundeep During driver exit cancel the queued reset_task work in VF driver. Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support") Signed-off-by: Subbaraya Sundeep Signed-off-by: Sunil Goutham --- v2 changes: None drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c index f422751..c1c263d 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c @@ -617,6 +617,7 @@ static void otx2vf_remove(struct pci_dev *pdev) vf = netdev_priv(netdev); + cancel_work_sync(&vf->reset_task); otx2vf_disable_mbox_intr(vf); otx2_detach_resources(&vf->mbox); From patchwork Sat Jul 25 04:43:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: sundeep subbaraya X-Patchwork-Id: 1336175 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=DkaYnjC9; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BDD4g0ZVrz9sRR for ; Sat, 25 Jul 2020 14:44:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726754AbgGYEoT (ORCPT ); Sat, 25 Jul 2020 00:44:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39136 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725825AbgGYEoS (ORCPT ); Sat, 25 Jul 2020 00:44:18 -0400 Received: from mail-pl1-x641.google.com (mail-pl1-x641.google.com [IPv6:2607:f8b0:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E144CC0619D3 for ; Fri, 24 Jul 2020 21:44:17 -0700 (PDT) Received: by mail-pl1-x641.google.com with SMTP id b9so5614047plx.6 for ; Fri, 24 Jul 2020 21:44:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=151wG1KiRrgfbCuP+xOkQaYADS7oKRPDfnAtfObVL5w=; b=DkaYnjC988sd5rmEo5XAs/cjj6XTwBNwBxmKsVa6pUNOPUwdm1SrUlKYnxd+4pX9u2 oG5bjcQHM5qxMvAOoFH4CqMLvBYqR7CQwqnYjo5IEyA+61WJSRk8GjS/iywPgWzas+Hb Zf8NpbOHkgkMHTJNT6H6PKLadit/CfTGjdkEESS1Cin+DAlEq19niSUqdsUi8jgigExE fi9fMXTCAUGaVDeQ5zYefrILQcQFojj3eLr00N3xpObNPjMUqoCtIpj5GG1XNySYZ9gS gP3uvcF+/ZrZ4BoMqVwe6e2iCNo/CCF89CcCU5tElFjfe17r3OlFl1BhkXHLzFYKTJ+8 eMRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=151wG1KiRrgfbCuP+xOkQaYADS7oKRPDfnAtfObVL5w=; b=gghTPvf7DRXdyPxV+vFvVqHTeeyUvRbGPQNOseulXzX6OHsnRwIQAfzQ3h6RDgza4m neCljVDUuV/LmkzDI48AWpm3twJtb38j4hvhT73PjtTYLvzyfuKVMbYOoHkm86FNOjlc yfZ4g3UNxv8NeNYDusIkicJLMcHzpRdc/cBphhyVVFIOwYIw1ofj1jBL3F6r6D+Ax7ez W5d09PzpCfZf8J1Jc5sPoR/wJpNBTY+H7QLDxjbjNhwMe/n38HcyalijrjWcVuWACusC /652P++fzPWxiLe/8T9t2ixAkVvIx4gGAfG8+zTspiJKFU81RUqpl/tEwtMe62/mQ+Gg TyIA== X-Gm-Message-State: AOAM531yMPrnA8tSB8+6MRnRGvvMoEs3PHiWDD5OYJKEcLJ7hxR6aLKG WyXEAX5BkYPSIj+Tyhue3I4= X-Google-Smtp-Source: ABdhPJw6b73LxoMliCMrBZVsKAOpyzTOT6cHOhBW7hDXq3wB1sxRIImoLy0qFwMXPLpvCXjR0ZBWmg== X-Received: by 2002:a17:902:7005:: with SMTP id y5mr10210195plk.342.1595652257509; Fri, 24 Jul 2020 21:44:17 -0700 (PDT) Received: from hyd1358.caveonetworks.com ([115.113.156.2]) by smtp.googlemail.com with ESMTPSA id e18sm7906618pff.37.2020.07.24.21.44.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jul 2020 21:44:16 -0700 (PDT) From: sundeep.lkml@gmail.com To: davem@davemloft.net, kuba@kernel.org, netdev@vger.kernel.org Cc: sgoutham@marvell.com, sbhatta@marvell.com Subject: [PATCH net v2 3/3] octeontx2-pf: Unregister netdev at driver remove Date: Sat, 25 Jul 2020 10:13:54 +0530 Message-Id: <1595652234-29834-4-git-send-email-sundeep.lkml@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> References: <1595652234-29834-1-git-send-email-sundeep.lkml@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Subbaraya Sundeep Added unregister_netdev in the driver remove function. Generally unregister_netdev is called after disabling all the device interrupts but here it is called before disabling device mailbox interrupts. The reason behind this is VF needs mailbox interrupt to communicate with its PF to clean up its resources during otx2_stop. otx2_stop disables packet I/O and queue interrupts first and by using mailbox interrupt communicates to PF to free VF resources. Hence this patch calls unregister_device just before disabling mailbox interrupts. Fixes: 3184fb5ba96e ("octeontx2-vf: Virtual function driver support") Signed-off-by: Subbaraya Sundeep Signed-off-by: Sunil Goutham --- v2 changes: Modified commit description drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c index c1c263d..92a3db6 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c @@ -618,6 +618,7 @@ static void otx2vf_remove(struct pci_dev *pdev) vf = netdev_priv(netdev); cancel_work_sync(&vf->reset_task); + unregister_netdev(netdev); otx2vf_disable_mbox_intr(vf); otx2_detach_resources(&vf->mbox);