From patchwork Tue Sep 18 15:19:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Douglas X-Patchwork-Id: 971157 X-Patchwork-Delegate: lorenzo.pieralisi@arm.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pci-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cadence.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="dmBt/SKL"; dkim=pass (1024-bit key; unprotected) header.d=cadence.com header.i=@cadence.com header.b="AS88za5W"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42F69W3gdxz9s9N for ; Wed, 19 Sep 2018 01:19:43 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729447AbeIRUwo (ORCPT ); Tue, 18 Sep 2018 16:52:44 -0400 Received: from mx0b-0014ca01.pphosted.com ([208.86.201.193]:57653 "EHLO mx0a-0014ca01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728982AbeIRUwo (ORCPT ); Tue, 18 Sep 2018 16:52:44 -0400 Received: from pps.filterd (m0042333.ppops.net [127.0.0.1]) by mx0b-0014ca01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w8IFJ5Fs011198; Tue, 18 Sep 2018 08:19:28 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=proofpoint; bh=1VA97M2tW+9R4wPxaeZH8P9Czi5y3nXH9PL03NLb4Qc=; b=dmBt/SKL4K2p/Gkbu1todmtNrgXH6ZuBnJ5twAq/QiO/5t9QV/XZDqE2JZ7GGp6dM2D0 BCTYTEeJ3a6i/OZtLgCyGppB1E7q8WktySLxSd7IvaAYpL6lhvKlDm41gmHI+OUtvQ1a JGlWOGNDb2gftG4UIugRmfb0rEGWmf28/FDEO8kQ/B256MDTI/W2OTtYwZYqRUtxQ3/8 zbyP28a8AQ+c0CAeIEwN2wg+utR6aom6wRN6fVcCdbDVDQSlKtcnmamiZL5o9zjX/ayp 4o1EXzBQ6SSI9aio+RFfL5+tUr87ntBpg71qbHzaLmjYBMb6mkbE/INOEhO8YtC2FDs3 4w== Authentication-Results: cadence.com; spf=pass smtp.mailfrom=adouglas@cadence.com Received: from nam01-sn1-obe.outbound.protection.outlook.com (mail-sn1nam01lp0116.outbound.protection.outlook.com [207.46.163.116]) by mx0b-0014ca01.pphosted.com with ESMTP id 2mgwnv7q3v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 18 Sep 2018 08:19:27 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1VA97M2tW+9R4wPxaeZH8P9Czi5y3nXH9PL03NLb4Qc=; b=AS88za5Wpm4xk4G1OCWgDHdxgT7IcvastEsXHgn7qpc9oLs6UKZHDEMU5SZc9vcybMuEqHvwptWnvWpOlrje+nZhV61MkpVwYoQPshpHY6xmRoGUELb+g1eGfyYoOBnYDqwzY9VOeqmL+3vlrLMWKGER4VLgs74l7lXJUJAYyXk= Received: from CY1PR07CA0005.namprd07.prod.outlook.com (2a01:111:e400:c60a::15) by MWHPR07MB2960.namprd07.prod.outlook.com (2603:10b6:300:1f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.15; Tue, 18 Sep 2018 15:19:25 +0000 Received: from CO1NAM05FT034.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e50::201) by CY1PR07CA0005.outlook.office365.com (2a01:111:e400:c60a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1143.14 via Frontend Transport; Tue, 18 Sep 2018 15:19:25 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning cadence.com discourages use of 158.140.1.28 as permitted sender) Received: from sjmaillnx1.cadence.com (158.140.1.28) by CO1NAM05FT034.mail.protection.outlook.com (10.152.96.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.1185.5 via Frontend Transport; Tue, 18 Sep 2018 15:19:24 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx1.cadence.com (8.14.4/8.14.4) with ESMTP id w8IFJMuZ022233 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 18 Sep 2018 08:19:23 -0700 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 18 Sep 2018 17:19:27 +0200 Received: from lvloginb.cadence.com (10.165.177.11) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 18 Sep 2018 17:19:27 +0200 Received: from lvloginb.cadence.com (localhost [127.0.0.1]) by lvloginb.cadence.com (8.14.4/8.14.4) with ESMTP id w8IFJJnJ019303; Tue, 18 Sep 2018 16:19:19 +0100 Received: (from adouglas@localhost) by lvloginb.cadence.com (8.14.4/8.14.4/Submit) id w8IFJJ5L019302; Tue, 18 Sep 2018 16:19:19 +0100 From: Alan Douglas To: CC: , , , , , Alan Douglas Subject: [PATCH v3 3/5] PCI: cadence: Check whether MSI is masked before sending it Date: Tue, 18 Sep 2018 16:19:17 +0100 Message-ID: <1537283957-19223-1-git-send-email-adouglas@cadence.com> X-Mailer: git-send-email 1.9.0 MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(396003)(346002)(39860400002)(136003)(2980300002)(36092001)(189003)(199004)(106466001)(87636003)(51416003)(26826003)(36756003)(478600001)(26005)(48376002)(16586007)(2616005)(42186006)(126002)(316002)(426003)(50466002)(105596002)(486006)(6916009)(8936002)(336012)(476003)(54906003)(246002)(7636002)(47776003)(5660300001)(50226002)(186003)(356003)(8676002)(86362001)(2906002)(2351001)(305945005)(107886003)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB2960; H:sjmaillnx1.cadence.com; FPR:; SPF:SoftFail; LANG:en; PTR:corp.cadence.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; CO1NAM05FT034; 1:wyn+QeaMT8fHSBVnsZlVf/l5kj0T93ZE7MmbSDMzSbGBkxEFeOknRJcXReAPejz4AWLkL8FdWlwk3vr9rdDMKkBbd3KkkHSI68qGg4JgIszMd8eWmHLbp38ZMYHLO96N X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 227ca1c0-128e-454a-b292-08d61d7a1e44 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060); SRVR:MWHPR07MB2960; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 3:FD9gYcvEvRJVYaUY3CIFLAHeS62LZe6rf4GJS9xd+nb8liAeTVwx23rEpS5n60H5cQv9z0PPiU7mZoH8pxvXLdj0VgfbgvvG9w2nJMHRvzr/uT1wgjnq8rRgB0QAQWiAPBuH0eIl029Yj0NugJQVGFQsG3ayKBS0S1CSByeOkcrfualqrOfs01nUO6S8CW/Pbhgb6bYLgq2nGiSX3kMTWy7+7oNeAusgPXqUmGCFBmuCyHojS3svZTTMaZIsr1kKgrFuRkkU4MzleXCzrvoYQISApFdZE9IIXTY7jh6yOkLEtcj3zgx+nYOtFUYTr2QvlsRk09+sRzQZn+rcRElw9E9+qwQcFLO5LNk/zJXZ+Hk=; 25:6psjLZbUtN0y+VaPRzEyweoTcumMIRmhmnqhhBRGcgBmf8tfIMLYx39MBiWA7IwuLpqQ5JI4yZpwtUK8Sm/Saw8gUr2YKnGwE7eWODW0qO8lKXZ6meJxmRB98ud36Pdyl1qDe6C+wN4lXYVoSyP9WZ4CCNVdV4ky57QmrmI125aC+FCDb3fdodWZcGexLUb3uEDVgbg46tGq1VU2bTQP1gMt/bLYhAhb7qUaLBhvaZgDKyZwNO/JXbpWUQ6A3WYELY3c4x38YjjmpgID+ZUSEDyBUa1Cl3On3L6+79TDpf8KcAXlhQsqvfWqf4hyVgMYjETTuH/PTEB0DNkAyqJbsA== X-MS-TrafficTypeDiagnostic: MWHPR07MB2960: X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 31:qiKAcG1Eca+ic8FyY6eBFJu9Ioql9ZTHMuoT0K/1lU8tmvw9j/DJp6AEhO59qS24KTdtv8xL4Ai90aBDZ3ph21Th3ahcJPmjbWRW/QQs1HUcPFQ+Rm5O3ZT9RZemyzDpoeX4/Z7GauMEC4gECUA29bCGm9LE+GjGr10WGP/7/hNMEBz5hLttHpgXXTfIak33MNCAWtn2iUYDLBwuS7QWf06ptVQ62NZ1tTXrg5635BA=; 20:1yhfcYC5kDzdR1k1T3gvFWqDc8hxiACsMiJBNm4+uRwBelenKzHnMgTnT0i+gWEzT2oZmf187hC990qsxvfM/42yMZd/Z66+2q4TLshL6IDBq/JlQRqSbDx1IDgpgnSbxBmyfxvsRW4gmRsx+qIJlzjnwk0gUv+C79CPmmvT5jiR1q5AaNb7ghcfF7qyQopdxAOxbX1nGAeus39MJRftkqLO6rI12LqT4NMXjes5HMpgGmNblVt9XoAPkuyYIrAvNlpd5Wb/enKjXlk2P9ftLSxJiq6IZJJReE2BJbeqdPGhKzVAR3dhlmiEPKLr3zPd17hYK8xM0piHAHPtxdBcLS/XAC6mpjTl+36+em/juL0jWxuD1rV2F2FUYX9697vvlqCm2MubAZko0ihiPaeAyWHJgON+h3MWZLfjDq1YdCpMbJMoJQDW7x+Cb0T18S4RvtsaLzmEptmNBzbM9TY9zJBtf/png/D5m9lx8/KH2jqzdtZe8UKZKZKBHf69JAWD X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(72806322054110); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(3002001)(10201501046)(93006095)(93003095)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699050); SRVR:MWHPR07MB2960; BCL:0; PCL:0; RULEID:; SRVR:MWHPR07MB2960; X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 4:HUaXEac79LpmFx3tvb+5e0fkurEcZ0uTe48K8PVbm3PHPc4J63LUiXkxk80GLjdAELL4y5Hx60WEA72SAin7QyGUYxouEkVD9xzf1FRWRSryvIPhu7wOedsJ7Dsjz7J5mncLi9KX0zpsiQkT8G0I+s2u4RufWS4UURXQQHQ5x2u7zDQgMv1ICNtvKEtCuGHGxbtqIR+9gjP/KAeF8z6mi3ptC2rch4SzjMjYbqucRG8lT4dZw8h+AlmeTQR/jQ1W7GJZrKlmTQrGWdnSmzyg/b1qNbrceF97kOIRBW5M09iEtwqYyEzJ/Oy9NlEAQMKH X-Forefront-PRVS: 0799B1B2D7 X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 23:BGQxNCDrzFPmWlGx+xpwv+2VBXws5jt3dtSKFvcj4fdqBq2eivHsHsKcbvOZpqbl9l0ZhnghaoJE+V4Nd6Mv9tqR1ls/yO+sTTU51YXOEmMJAFw8I1NFFl35Na3oi3v2vYI1sZnpx9Km/9TXzysSO0IIuBuJkSOj0ey4RBKJaHyGTcHDqbcp1xp/tVW9vdHMP4dcCo8IFAYMbKKRKazWfmd1v9/BxTlrH9vrvI6zG0e/qJBeUTxTfiTQDinAKyv+3ktTQkCAhMkm+h/bcsdPzsC2SJONJQ6qHqpQ4owujn5xSvyKe822R/bp7KPMkLCuBDbyX+YqmrlSGxPhjdqf500EfxwvJdU0U8DP9XFLB9hNt2fJfiduUyP7ZkodJlh4t8gR6399IGxZ6zklYEwZBtH8D4Dm2sdU8uv/IR8PZnpL+oqgJJ+jE2gsNPxIu4OtOyOiuZbmrS7WevSl6mATmN0BJCFobLE4cUMcOccBgrR9m/smAhe04FQ6x4Ob4G+Vsfu26JHZcg1G0gJVvjB90/aZoWDvqisoWHxJQ3X0WjPWQAL/yUbhMQFKpaQRpYVrxWZr1I+ks97akVLo93XdT61jhUx4G0dFGKkMGmarNedQddZuCZrprt+gdMVjbWaqKODAU9tXTuxONJVf/toxkgeM3iDp2Po4ag7qxoTTKJyxeCEMPFhf3OQdE5OZtahCSXUJwWnYeb7GRqU/ligbL64M3g2ailE3gJmdBKu9+zyj2sBIgY88biKaQO+NA7PuWLBHcgpA+Qf4xQdt0bDf+71qc7ikO/vYSafFvEY8TBtclv6+HiTOgljimN2loMIa4cSw0vvgpMinq/IalvvPcl0qwUqmtik9mLntiISTGpnP8I2vcR44PqBrHNbkHr7pSkSTOjglPWZu5sM2/MBW3ba6lzXq9I1g4pJ8sgKZawmZlpeI4nEqa0Nqks54wiLweaa3TfIUrXCeuWlJZUO+1ewx0CVw/0c45vHAn3SRlfP0gBU/EOj2v2X4jzfaWWuI X-Microsoft-Antispam-Message-Info: cZXuSsdh8bAa/yOTyMTRhdEytrv5z5dHeaXMAn44VkgA8P1o0HrQLYgg3rFrfzI24dajJY+JHa2Rue90xsKe35+40VfUdgxFx5NdcZIEox/DlK39b5+dU8sLD/DoBmGR+lPXNk4aJ9FJjIcdoUyPaohWBqshZKTvLS1EK4TvNek6iEGC0/X8eaHfWhN+nakJonqBBIXfoK28nm06WB/Sc+ULFNvnnwaAiCveobD0TxN7SmBzvZQmoeHIuL39E3TvQ/k/m59FBU+A6VEujxDXXSg71ZpxsAon9lhfDD76LDLmqelbWYpKR4qB/2/yGFRM6KrooQX0BRIF/q6jTmkkYg+FJ/cYNPRQDTiuwVzVESQOrHRgLxvIEA07pRFndwkLTHV2srcJrOEgsGziFrODIg== X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 6:NgpqUv2hYiJzDV+IcmGZsoc2gWg8q0sJR8WHlnM7YmDr9s+b5kjpwk3ImTOS6HRI6Yoc5N+5TqRtLzAjOqYvb2Z621X9ucNiIbOMPDXEbXczPfrY/gK/D1LSqBKrqMhMNwYhJmpS6O6orrKShKAYTFv45DOJdOFI/QOgQo32xpczhfQZv+T4fhQQkLZTZOdPWlWdZeV1rzand0ECKwmWSrv0IgLimNUS5uHXg9j3dS/SnPzBbkKx82s6Ea08Eb6w9qk9bFzYcu7obGmhWY8gdOkOlepDHFt4wzB2UA6lryBlnIyKK90z5KAat4BX8Z4U7edc7Oaa+cnRu+tdwunhIeXYKyUTl0QFaX/+M10kQtm98jiGWhtrNXBwxbbxYqodoDn3omzGnxXc9OusPO81v5Gc0P/d+WDs5mkAVM2N8bxIm1if4XavHvtbh2AmY4qFxqCXIl9xCEJ1wckSbK2dlQ==; 5:4clRbuSJi77m0RvM49vvYBQNnK/HBHiBc6B5Nad2ITYJ8l0nbYKjh8j/8tFCc50esa79aJaM1+S1IJij4+9hptwO/p8fEyRYDDMAXmBrJ/fE+CMjDpou+923Xh14LlnsR+RXAXMVepWoPcwpStKPXGVmqsDPApe3lTG0/ACZJEQ=; 7:JwC7njbazQpy8mMOfA1eIuNUy6l9gYuED5uL44DbM2b4hiek64YZtb0JQVOgNFoNmlgqYSiqriudTg8l0ZmOrldonQDLr7gv0Wn3Ot5JnecfKpTnx+g3U0f5IWthh/bjtfBAqQ/fGB+b3xdvGcFLRGYbiOh2iTwxA4rFwaPBbZP4rkkvWjic3ioNujIKMvCk2ZnN7geBU/odAJ4U/pc4TQBshaVu8k66LEGTaIP/Z+elRHJCBHOPO5lsCWBqlT/G SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB2960; 20:A7mcoTxXfOiJAhbJwVxtLJPzHxehjFP+S8Uz2ImTXH7OIMN8raq5rvBAmCMVZvbIq6n+HZo5jIEnD45wjxQPEjmE/QWNFntAiU5QAPZfY7DlcqqxNIq2H7pCOtZMgR/lUXPsCsDC6c1yZFaEsTfZX7eSMfEdBjruhPO6aUMXCb+2dMakQ8ccJ/tz4FIIg0pfwUbPCSDNizo3dk9pFTevCm8ep/ersol8BoIorHf8G5Zg/kMszKfmqNb/DuTSqL4T X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2018 15:19:24.8194 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 227ca1c0-128e-454a-b292-08d61d7a1e44 X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx1.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB2960 X-Proofpoint-SPF-Result: pass X-Proofpoint-SPF-Record: v=spf1 a:mx-sanjose2.Cadence.COM a:mx-sanjose4.Cadence.COM a:mx-sanjose5.Cadence.COM include:mktomail.com include:spf-0014ca01.pphosted.com include:spf.protection.outlook.com include:auth.msgapp.com include:spf.mandrillapp.com ~all X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-09-18_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=399 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1809180154 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org The EP driver did not check the mask bit for each MSI before sending it in raise_irq. This is now checked, and -EINVAL is returned if masked. Fixes: 37dddf14f1ae ("PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller") Signed-off-by: Alan Douglas --- drivers/pci/controller/pcie-cadence-ep.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/pci/controller/pcie-cadence-ep.c b/drivers/pci/controller/pcie-cadence-ep.c index 970d934..56f6b87 100644 --- a/drivers/pci/controller/pcie-cadence-ep.c +++ b/drivers/pci/controller/pcie-cadence-ep.c @@ -333,6 +333,11 @@ static int cdns_pcie_ep_send_msi_irq(struct cdns_pcie_ep *ep, u8 fn, if (!interrupt_num || interrupt_num > msi_count) return -EINVAL; + /* Check whether MSI is masked */ + data = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_MASK_64); + if (data & (1 << (interrupt_num - 1))) + return -EINVAL; + /* Compute the data value to be written. */ data_mask = msi_count - 1; data = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_DATA_64);