From patchwork Wed Mar 14 13:37:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Madalin Bucur X-Patchwork-Id: 10282199 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 62513601E9 for ; Wed, 14 Mar 2018 13:41:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1AD0628903 for ; Wed, 14 Mar 2018 13:41:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 195FB2891A; Wed, 14 Mar 2018 13:41:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B553B28965 for ; Wed, 14 Mar 2018 13:41:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:To:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=oP7dgwM2Up0UK7WeG9hJ7lJvNXa8s/eW8Pn5OBUIdeI=; b=Cu5uvoybYPflGH o9BWtaaDStbmzqbMRvx/+LYjOD+g2aQLrFVZzHE4qUA7k8RRlTChNtrxySbA+eRMpTjATeDgx0pY6 Y2s17hs7AdoajkNaOQFYRk33P1D5WPAa360t6PYMW9vbNVgyEe2aZnte2MC8vHfFcgyINw5hLfXsm 2unVaBCIOKMElhkVt51ieyw2vndeXCNbJL5Ujob+V13QGjgRll5CGCyRel9eFajnseDi32lhmOPTE wWW60E2RuO0CWHjQcU+HuF0D/XXXS2tVu4d7s5FlFQDtjjOtEzGEATv2zCtswygcuQnNE3aG7aHk1 h6WIWBkOz8LDmQUfZbtA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1ew6em-0000HX-MO; Wed, 14 Mar 2018 13:41:28 +0000 Received: from mail-eopbgr10083.outbound.protection.outlook.com ([40.107.1.83] helo=EUR02-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1ew6cD-0005lF-FE for linux-arm-kernel@lists.infradead.org; Wed, 14 Mar 2018 13:39:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=igXcEX9XylooDX3HdFiqbfvqGgLbACbjpgrnI6HKDy4=; b=OqgNfXFSn4QxptZ/lxHCkP44E4nk1+TlYJw8GN9GQ+gqiT/M7KiWe+bZ7Ukt/y2sWKPqBLMY5O05ONBUPvQGrXedIr8AL/oFPL0whtpJCOJTrYZlyBevhGQS8Z4HDfCoZP2bcpTA1qHnDDYbPfMiIgvFz2bySbPElOWK1JgStWA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=madalin.bucur@nxp.com; Received: from rhuath.am.freescale.net (192.88.168.49) by AM5PR04MB3267.eurprd04.prod.outlook.com (2603:10a6:206:d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.14; Wed, 14 Mar 2018 13:38:25 +0000 From: Madalin Bucur To: davem@davemloft.net Subject: [PATCH 1/5] soc/fsl/qbman: fix issue in qman_delete_cgr_safe() Date: Wed, 14 Mar 2018 08:37:28 -0500 Message-Id: <20180314133732.24068-2-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.8.3 In-Reply-To: <20180314133732.24068-1-madalin.bucur@nxp.com> References: <20180314133732.24068-1-madalin.bucur@nxp.com> MIME-Version: 1.0 X-Originating-IP: [192.88.168.49] X-ClientProxiedBy: SN4PR0601CA0024.namprd06.prod.outlook.com (2603:10b6:803:2f::34) To AM5PR04MB3267.eurprd04.prod.outlook.com (2603:10a6:206:d::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: f0f75ed4-01f4-4864-5ed6-08d589b0ddaf X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR04MB3267; X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3267; 3:MgxEEousZxnatKHEwwfoshd0YeyFtFKoRIUFROaGLdHcWIxPCLP0HoPZ9jHyA9LITReBk/pQDEMcP/zJcwQk0x9Lqpma7pggsBSQyU03qe+FtvSjFcGOJhs05KS+d20yzocdbpfUKxxsnkyB77aEWBRQlzekAs+LQMH+yOx5SF2rW/vN4iLfXZuMTZ960jy7/dqmMLpjNcpGOD+HoDq3CmkwtUHmCZfSQr7w5TJBrtVNI6/yaXqoVj7JpGG+3vAw; 25:crhQUbdRv4HvWgE09MgULEPp3VQtVhtxsj7vfhS2jY6RoEJqyZGhBFW/jDxwljs7rywjwpt0ekgcSUXU2d6QPUtCnrFMdOhg5TRcPOyFyMQBcAfEuzyTTFLpswKhI7+rSnm66BKlOmckbNAnGpBOh4NZzMXVuQD0As0ZEP9klPUG2stRR7y7qulGDWrFKxvwzJdfAMms2+KMjEaANB9sjaCd+3Zx3dz951ByTr/CMwfhTlqe4vntXyV1xBmYEqL629V/MYJ1mm4CA/xT80vPbixYRzLSnYxBoqMhxSRrchmPBj+xVx34wF3p0XChEXZ64uZ+CDBoiyH4GGznaMv2PQ==; 31:yTGDSyHLikBnuFqSaId1DwYbiDWGw1Dvwym4GzbzOPsgiq5puLicPSVGfG/GnVvVXyHWUfyspIEWP6PbcOjEyzr0m4Zts6mdP3Cgb5CAWcb8r9GIepC3qi+IpMddcLFUdfoJsXmWLmLQwU/+frvXmZ0xJ/ZRGzrf+il0owiuQf8LeEmC5ZxP3IdPsWKNVFBXnVLdXxFM2tYcfGAbEBIwKYwXRJzW+cdSDtmXj08so9Y= X-MS-TrafficTypeDiagnostic: AM5PR04MB3267: X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3267; 20:Bvbkt4OX1bPftrP57yaZWYWXw2JfojV/1m7KztxKzzmCFhbODwvC13aBHSQmj8uHCAHbSw0P+gzVOY+f0w4qk2bMRkEaeH7S+U9LX6vDgKiBFA+Ebo6gu2v7PGmSuP0eQW1tuuBXOwWi3hdYd6sCMGPgGy+rQGRs/ZCGP1zFZ7E1JsYhE4ngyg2yknEVD8kYq8+N0+O3mLq1xneLbeMjMwjPMBp0LDh4cMWHfqb1m+m8uARZ2LiFvINpSySDu63NfnhNe0dsVrcA3CVVkbqLdD54cmF3r7W6S/dD8Fe8BkxktMRp1Mtio8azlz0vA3lFO8ieUXX8mFTHpQV96IXPvhdUf4CXA20QwDr6v4f54tQFx0AwluJE0ZaGaNRoC6bQubSyhkduXQdH3e57tCREqXqihRThfdg4cn3LpvCceueO13EEWccBU0mg17MCK+h4UhhZK/RpwLbxLqBhNXwOh8pXmRMmr2pxhcmQ3JE/srEr47R+VQtuVrV8ZgPLtoF1; 4:Ppb56+TgqpVbuacPTIDgAXQLoXgG0XliOSjrx4B4Urr4Y2ytF7Y3xzl/XH7H5YuIA/pAGi9G1QyvZMJNikTXD8bzbrHA1OmpoSPlC0x+e/g+iyCPrcVHFWmgPI0H+UXB+VNEhCRYaRh664dkA3BkTjoR+IQ8hWi12BeX6YonwwfwObnHtG+yq32EXO1XljUv488Kq+o9txd214exJIuQp4cJunrycZWgz8jYwdCn4dsK5SboHsOj/Kq3/AfwYVgt6BZO/TJy16M/rnhtI0K3A+QRiS12gKNIvtxKBvbN7PDxd0/BNG9GH9lhbowN1Ht6 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231221)(944501244)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:AM5PR04MB3267; BCL:0; PCL:0; RULEID:; SRVR:AM5PR04MB3267; X-Forefront-PRVS: 0611A21987 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39860400002)(39380400002)(346002)(376002)(366004)(396003)(199004)(189003)(1076002)(68736007)(7736002)(6916009)(47776003)(4326008)(8676002)(2950100002)(316002)(50466002)(81156014)(25786009)(81166006)(66066001)(50226002)(305945005)(3846002)(8936002)(53936002)(6116002)(36756003)(48376002)(2906002)(16526019)(26005)(3450700001)(2361001)(86362001)(186003)(59450400001)(478600001)(51416003)(76176011)(106356001)(52116002)(16586007)(43066004)(6512007)(2351001)(6486002)(97736004)(5660300001)(54906003)(386003)(105586002)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR04MB3267; H:rhuath.am.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR04MB3267; 23:dtLw8xp4E18tN2ykfaR85BrCwSxWtWPgALl9RE1U1?= =?us-ascii?Q?zzS7V/XeOcQaKDufwdVMZD3M/40Xlz79FMSf2p9xDFIWBT/KMgiSCqzygHK9?= =?us-ascii?Q?WqLJx64zsC7FbuJYd1SfIg5xEm8gchqKAhhMUYLDnWC0jNsILmvUXABcXzSM?= =?us-ascii?Q?XV5TG/yxEwp3ITIN8Ha6mKCIusye7A2QCKeCkKrkaFHzhuhhWbvVsc+HoHF9?= =?us-ascii?Q?qV3TifH/OPF5cr8VNJVQ6CEWE0uGM1SLsh9mglMOlylUUQcnXnOtgn8MNrU7?= =?us-ascii?Q?WSrFXPfrgh/emhQEeKfxtDnZDj+C3djteJPlQGQcZ7Z0WLfa79ujZ3XLrr2E?= =?us-ascii?Q?DPZ6khuEV9DKuNyaT221AvNhCtzOm3Ct56nBnQRj+HmnSG+i0H0I5n31y3un?= =?us-ascii?Q?6WjIZbR1tBEb1ErvSAFqyM4kEhJnVP+OR90lKqgGCm/8PlTyJM5QfIdCXbXL?= =?us-ascii?Q?Ow6XIjIWbXbGV9Gc69F7TD07Hdv8BzxSn4UFlJ8RJJ7YGVsR7NwZLmC6wmOT?= =?us-ascii?Q?L+bU2kR9vAl9CSW9VSeb4MSLHYlTXp8nngP9sdDMzrhyLRs9187wDuRPpWjr?= =?us-ascii?Q?uIfONiVWuu/gsrr5b1xY4APvMYmds0OIL/U7SuCoEXEB4bYeRtP+lHOC5zFy?= =?us-ascii?Q?8azA+65jTWLf4OAki1+rts9hWw3E5Y7Ro6fRnHFF9fp7Rhzt2k9EdF3ocapl?= =?us-ascii?Q?932USjJsK3lXCiyILwwvlQ00yKBdxXv9ZA3jRNhHaR6ZLbB7vOHpmgmeJiOS?= =?us-ascii?Q?jbVM4DNERKSBMjCA3TqZGkoXeIFSJ67FfwikWM0tQznm2M1zIflEvULGkpsO?= =?us-ascii?Q?ya94iIAzWlSxgguew/SPNDBTjfwSJUskMp48NSXUOiUwFKuIGoPdkAbHMH1q?= =?us-ascii?Q?RP2UmLuhRFfYux7EaD/BytrME4ohIK7BevhXWBHFXDD13rPe1dqGG6ECYkSD?= =?us-ascii?Q?lAOfz5SqzJVhzJ0qywmVx3DY6GzvNDB45xNSeSofzrlBgmwqLHyhOYw8SWHj?= =?us-ascii?Q?3uqApowKAF53tLhj2Z4KTDsIjerOqelHr7A9wezSn8STfN47PVlxSJdx2Tnr?= =?us-ascii?Q?MC7px+Dy3e5fVnx6iD7+oujv1Tx3boHg+EMui85QcyU202s10GTwP0XWReIC?= =?us-ascii?Q?Ia5Ngw45UIPWLreRRQ30u3zHyQqoJ+LUvepSSC07S6OinQ4lCSwdO9Sn8TJy?= =?us-ascii?Q?oHLpCWwTmI0VRvmwVxWO3p3SQGLt2UFxsU3rAuZhPeFCidIMmQtfqBQ5g=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Antispam-Message-Info: P/0drxJDNaC9IXJVwqiOC6IRyGUfDs9cAT7vtAaQtfqXStwC7vMcWOjSmO+sbEH5rpCYffzisLIKQvaWj/Yib5kujfcnAyXLaOTboBjj5GkFT1T8aS2ADuRVLJwNoWt/6ods5aYNKW6tXy+YFMh1Y2feIUEL/FjwWnpveW4NPnTv4VC7Y/MqRkqKXkbikEez X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3267; 6:zJLS7psq8S3xxJ35Sg5SuACwz8479z58M4g+UtJsKkFEQwBAHvm1wom7WFVBN577lvYhf9qcw8CoROrKv30qgvxytmMnJFxt+9s4qBAbkIB2Sn9pjf9sXZV0ODuyTGvHB7o6PHVcGuuHSC/WsVRiIvkoyq2Gq3LDzzrBkWLJ1WRwMAdMKa2PkwOLtBipj1OUsaDLkhlVpFbH6Q309RBV/+42ijg7eOZRJoMUUOnT0avKH7W+EVPywMsFILoheMQwSZ4uEsCdOa232HeN0ew4wD5r6ps76Md8HvqSWkDZDmy6nhW2WTpDxxujVmto13yb2EOk2jqfzBSnyK2jMaDtDWy/TF15LqPUUewvF7uW10g=; 5:oH2yXUOWtzQaLTnG4yuUJILkFmVwcauC9frYLnLffg8LVQjjrfm3fCeJlKS2ix/foH5wJYKTyH3YqNmku+UjrB4HlWcCeXFzhRy+e9+Or6LRHOv5Rpd9lEpPmg9biGZk2vsSRMDleOIg4HL00DF7q+KbSHDM23lzptwJaYF2OFw=; 24:9iSjYu88qjYuNAoLNXQLiSH60Yq5ToJMpXE/yuQfuUIQIPtoNd24UfWSBoU+bgOZwN/KTN7IJ+Z7CSBt5hC1Kby1aXpymyLLkC/zHGxPXV4=; 7:kPyhip10yoGqflYNruTzxx7JptIBzFaGTJruFE6rtXCVlH8upkL/VMYutX6yljjtUoOlTdES/zQ6+BJDHF1Szj0iYBpLmusQBl7qguoYL/OfIp5VRObn3M5xnkm9kCfWG0BrHpbhHukEmJoQR9K5YN2yG5/RRkmK83HfEcfSzqsd2w067WOgoQ8o1wayOuKpsVwXeJcmDOKaNRu91bD3BsONxKizzNqOUdvwzeltbwh3tPde/hkRItcNMHI2/OY2 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2018 13:38:25.1800 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f0f75ed4-01f4-4864-5ed6-08d589b0ddaf X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3267 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180314_063850_235065_41C56C98 X-CRM114-Status: GOOD ( 12.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: madalin.bucur@nxp.com Cc: Madalin Bucur , netdev@vger.kernel.org, Roy Pledge , linux-kernel@vger.kernel.org, leoyang.li@nxp.com, camelia.groza@nxp.com, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The wait_for_completion() call in qman_delete_cgr_safe() was triggering a scheduling while atomic bug, replacing the kthread with a smp_call_function_single() call to fix it. Signed-off-by: Madalin Bucur Signed-off-by: Roy Pledge --- drivers/soc/fsl/qbman/qman.c | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/drivers/soc/fsl/qbman/qman.c b/drivers/soc/fsl/qbman/qman.c index e4f5bb0..ba3cfa8 100644 --- a/drivers/soc/fsl/qbman/qman.c +++ b/drivers/soc/fsl/qbman/qman.c @@ -2443,39 +2443,21 @@ struct cgr_comp { struct completion completion; }; -static int qman_delete_cgr_thread(void *p) +static void qman_delete_cgr_smp_call(void *p) { - struct cgr_comp *cgr_comp = (struct cgr_comp *)p; - int ret; - - ret = qman_delete_cgr(cgr_comp->cgr); - complete(&cgr_comp->completion); - - return ret; + qman_delete_cgr((struct qman_cgr *)p); } void qman_delete_cgr_safe(struct qman_cgr *cgr) { - struct task_struct *thread; - struct cgr_comp cgr_comp; - preempt_disable(); if (qman_cgr_cpus[cgr->cgrid] != smp_processor_id()) { - init_completion(&cgr_comp.completion); - cgr_comp.cgr = cgr; - thread = kthread_create(qman_delete_cgr_thread, &cgr_comp, - "cgr_del"); - - if (IS_ERR(thread)) - goto out; - - kthread_bind(thread, qman_cgr_cpus[cgr->cgrid]); - wake_up_process(thread); - wait_for_completion(&cgr_comp.completion); + smp_call_function_single(qman_cgr_cpus[cgr->cgrid], + qman_delete_cgr_smp_call, cgr, true); preempt_enable(); return; } -out: + qman_delete_cgr(cgr); preempt_enable(); }