Received: by 2002:ab2:7b86:0:b0:1f7:5705:b850 with SMTP id q6csp1335538lqh; Mon, 6 May 2024 05:00:12 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUc90c5bXno98TCWmE1OrfZw9Q+xcrVDYOvCWl5i5cqqMOVf1iqU9Z2lvDaeeflRVZAw48ofaBUDmkfMtoAyzKc+eGYgsJ9QSh6T+eT/A== X-Google-Smtp-Source: AGHT+IG7d81HlwS9cpwz43w68Ylds1P9DAz/G5etSkbH82IiGHTAhHCbSKyNeoh4a5186wH4JErd X-Received: by 2002:ac8:5903:0:b0:43a:d063:c8b1 with SMTP id 3-20020ac85903000000b0043ad063c8b1mr12797030qty.33.1714996812151; Mon, 06 May 2024 05:00:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714996812; cv=pass; d=google.com; s=arc-20160816; b=N7lARf9HrJ30cg2HX3EzxHKYwtlQtDWllfeOTU/hsEr04F2GRmtqQ18Oeiw4k6rhEu /uKI5y36LRhXZENQCY2ThAVJtn68bli8oX7XFGpnfzjgQiUs0ebplg9qAuTTn3TVGDaJ E1oKd3NP9heZrFcta3byzFU/p4UiDujNfLT8sEK3PQwk24QPMHy+joYtDP8Mt6u4KeST WGbEgBc0DWmNJKVt6tNcfawlLKZRC+RTJ8n441058PRwL0snC0VUq+7hPosE+XPEmpjq J00Ox5KUPoIvVqpk/dA+E4lawwoI8p8DCBd5VScOeF5oiH+mGLYamK2BQMpGrFlbys8x 38xA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=+bpATLrm3eKh+EUc18KJR4iRUTHi1eLP6HnKTvm07Zg=; fh=pS99lKehpANxgl8Ts559QtBmuPROeACncfDwg//a2hE=; b=pfkpEpCwRMK+Xpluyo/MnTYjb5qIbkqUKukNIyABTt1Ea5S06VWmRiKGn1tj9i8mIc E/OKhtq6H8cqaIbcB8F2R9i7g5r5Akb/CMMQU2DbDZ6XWif0SicxENfz8RjpT/aG/gCy em4L/lnLPTD0ScCB8BLsp/dsyHr0S5/hVgDFgSJ/w1BFqP8E1cc6gUy54nunmUoCHAD0 nFNKG0DagTbPqiRzBYIn15n2DeK57xYcGQubBP3EESGBTUXlBZ8BthgyUyIoQJ4oBauV LGyjr1easrXbGBFAXe10xR7+UenYUBOnX8Aow71ZF2jezUTHtGcSqGz6GtsVyhVtR6oD UUnw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-crypto+bounces-4040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-4040-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id ay14-20020a05622a228e00b0043cb22acb9asi9642456qtb.221.2024.05.06.05.00.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 May 2024 05:00:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto+bounces-4040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-crypto+bounces-4040-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-4040-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 940521C21BF2 for ; Mon, 6 May 2024 12:00:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D68CB14388E; Mon, 6 May 2024 12:00:00 +0000 (UTC) X-Original-To: linux-crypto@vger.kernel.org Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F92E143878; Mon, 6 May 2024 11:59:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.187 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714996800; cv=none; b=aW5QUBh/MJ+0a39GS7n/seOjsgQzM2a3hPfGak/+eewhyk1X+HHJzmpLy32AXCptejr7uDbw4y4++6Or3XNz3UVspAwoAOdllhijoZDoZZhGDXbscskKbkMmbRRfkc4V2eGCUyrqPtWNbbfSxhmBxXphevw4shxjH0+aGyFAPCc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714996800; c=relaxed/simple; bh=qCChGc9Hj6vxoCjDQSh/2Af2MaIZpzsXnpIbeACkxhc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=llabHvMDjP7KBjl28KXP7Ai8JlR+DI/gyV/oHGyggEAXONhXC0CEVzeENKRrGe3AVkbxmDsflxSZqSSnw/ZbirJ5TvkNFNgGa6gZZRYXfHqR+jLUdZE1jk/avev1YXByb1bwGw0FX+yRLSQkyh4i9u3w4pUSWvW6DT/taE8xO9A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.187 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4VY0Hn6rCxzvRsM; Mon, 6 May 2024 19:56:37 +0800 (CST) Received: from kwepemi500025.china.huawei.com (unknown [7.221.188.170]) by mail.maildlp.com (Postfix) with ESMTPS id 5F74F18006B; Mon, 6 May 2024 19:59:55 +0800 (CST) Received: from localhost.huawei.com (10.90.30.45) by kwepemi500025.china.huawei.com (7.221.188.170) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 6 May 2024 19:59:54 +0800 From: Chenghai Huang To: , CC: , , , , Subject: [PATCH 1/2] crypto: hisilicon/qm - adjust the internal processing sequence of the vf enable and disable Date: Mon, 6 May 2024 19:59:52 +0800 Message-ID: <20240506115953.2282155-2-huangchenghai2@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20240506115953.2282155-1-huangchenghai2@huawei.com> References: <20240506115953.2282155-1-huangchenghai2@huawei.com> Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemi500025.china.huawei.com (7.221.188.170) When the vf is enabled, the value of vfs_num must be assigned after the VF configuration is complete. Otherwise, the device may be accessed before the virtual configuration is complete, causing an error. When the vf is disabled, clear vfs_num and execute qm_pm_put_sync before hisi_qm_sriov_disable is return. Otherwise, if qm_clear_vft_config fails, users may access the device when the PCI virtualization is disabled, resulting in an error. Signed-off-by: Chenghai Huang --- drivers/crypto/hisilicon/qm.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 3dac8d8e8568..f614fd228b56 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -3793,14 +3793,13 @@ int hisi_qm_sriov_enable(struct pci_dev *pdev, int max_vfs) goto err_put_sync; } - qm->vfs_num = num_vfs; - ret = pci_enable_sriov(pdev, num_vfs); if (ret) { pci_err(pdev, "Can't enable VF!\n"); qm_clear_vft_config(qm); goto err_put_sync; } + qm->vfs_num = num_vfs; pci_info(pdev, "VF enabled, vfs_num(=%d)!\n", num_vfs); @@ -3822,7 +3821,6 @@ EXPORT_SYMBOL_GPL(hisi_qm_sriov_enable); int hisi_qm_sriov_disable(struct pci_dev *pdev, bool is_frozen) { struct hisi_qm *qm = pci_get_drvdata(pdev); - int ret; if (pci_vfs_assigned(pdev)) { pci_err(pdev, "Failed to disable VFs as VFs are assigned!\n"); @@ -3837,13 +3835,10 @@ int hisi_qm_sriov_disable(struct pci_dev *pdev, bool is_frozen) pci_disable_sriov(pdev); - ret = qm_clear_vft_config(qm); - if (ret) - return ret; - + qm->vfs_num = 0; qm_pm_put_sync(qm); - return 0; + return qm_clear_vft_config(qm); } EXPORT_SYMBOL_GPL(hisi_qm_sriov_disable); -- 2.33.0