get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/36818/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 36818,
    "url": "https://patches.dpdk.org/api/patches/36818/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1522561624-15817-3-git-send-email-rasesh.mody@cavium.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1522561624-15817-3-git-send-email-rasesh.mody@cavium.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1522561624-15817-3-git-send-email-rasesh.mody@cavium.com",
    "date": "2018-04-01T05:46:52",
    "name": "[dpdk-dev,02/14] net/qede/base: protect DMAE transactions",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "0d5c8c2940bc2c5e247243362c737231d8f918ff",
    "submitter": {
        "id": 569,
        "url": "https://patches.dpdk.org/api/people/569/?format=api",
        "name": "Mody, Rasesh",
        "email": "rasesh.mody@cavium.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1522561624-15817-3-git-send-email-rasesh.mody@cavium.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/36818/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/36818/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id D21B65B32;\n\tSun,  1 Apr 2018 07:47:51 +0200 (CEST)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0073.outbound.protection.outlook.com [104.47.41.73])\n\tby dpdk.org (Postfix) with ESMTP id B23FA4F93\n\tfor <dev@dpdk.org>; Sun,  1 Apr 2018 07:47:49 +0200 (CEST)",
            "from cavium.com (198.186.0.2) by\n\tDM5PR0701MB3670.namprd07.prod.outlook.com (2603:10b6:4:7e::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10;\n\tSun, 1 Apr 2018 05:47:48 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=OLpInxT4QRZLslVdR+gRIAsk40ykGkZNBU2YDYl3faQ=;\n\tb=OJ4qdz5XuJdnItEu0U4VAOpA5N3IhggJvKjWrEU+46gv0FGWCtVtwWSMS8/d1VB0eKcAusvlaWIKfYmbaB/mU5PhA2dq9Fy1WxlTSeXRcPsGWW5hW8fKFwwop1f31ptGMbx4P9nCmSf4BaU838zkUkD3GvZrVMjNUTz8g2r3eZA=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Rasesh.Mody@cavium.com; ",
        "From": "Rasesh Mody <rasesh.mody@cavium.com>",
        "To": "dev@dpdk.org",
        "Cc": "Rasesh Mody <rasesh.mody@cavium.com>, ferruh.yigit@intel.com,\n\tDept-EngDPDKDev@cavium.com",
        "Date": "Sat, 31 Mar 2018 22:46:52 -0700",
        "Message-Id": "<1522561624-15817-3-git-send-email-rasesh.mody@cavium.com>",
        "X-Mailer": "git-send-email 1.7.10.3",
        "In-Reply-To": "<1522561624-15817-1-git-send-email-rasesh.mody@cavium.com>",
        "References": "<1522561624-15817-1-git-send-email-rasesh.mody@cavium.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[198.186.0.2]",
        "X-ClientProxiedBy": "BN6PR11CA0017.namprd11.prod.outlook.com\n\t(2603:10b6:405:2::27) To DM5PR0701MB3670.namprd07.prod.outlook.com\n\t(2603:10b6:4:7e::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "ad6513c2-01e3-4cee-4b39-08d5979419e1",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:DM5PR0701MB3670; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DM5PR0701MB3670;\n\t3:bgb9FRzofV12ZlP7xaa2GjaWWBePSGf8im1r4WbnugP4zz9xmT2p319Etloh+bh6wNjMOSX/06yrkmv/WQEJkkT9ku0wFb6EJCyYHt2XIAtjLO79gjsYKoeynJoET1X6yg33FXI+7918l55Z8a7iZ4/91pd7Fp98BN9r/97a0aeVbkO0SVuTY3IcR9cTnaW3LIDK22ZEBdnhgJeFMOH2Vq5z6Nk3gpVa2zqLYudi4yzupA+0qV8LnyS79Xq8NNhG;\n\t25:MeqKqIWkX2Iuim3BlA7Ql7SlI7EODZl00Iz+GepQnHOeX702Rxpjy48pHBJUP3SsdaKYjulO2hwt2rzbioTz87rCNteDT9w75Qo9WwH5IACEf+iBISswOrlWpL2eGLLj2ZB8sD8kJaIv8HdO9WbiLDpLbNAWU7VYsls59J356lq5tbPQmvwczwLPngZVn8I52WuDy5DngC/WO0yFOoaWhzD8GgtZGlw1WSat0E264If9b9dPfJ7CiEcIrl+RHyF1353z33d7ohr92NnZl6Rsg2voE5jYfbTgZgBbTssqndYO3wOxG111zMRKjpgAN67o3QLLuL8aom+/8CSQ/3GEyQ==;\n\t31:TR/QOV4uDzhp07DTaovIxCppS3F7VvTsg0/eqIu0AD7+h+G7o3cVsrxGVJxUW+4QFRdad9XxdzH8do2XYDhB9HWU5gKbfgd1RDFVQrzTRCD1CvC/CV5N+Cp8uCqP/woA4/xPZyoI//tVSsGD8DBF1AkBs1SvXfyhuPw+Mdc5oItj9utAf1shZDtrgSGFlEkb261VE5rjuHz71tFZyh1YeCv2KISv8n24N4yRTPrWptM=",
            "1; DM5PR0701MB3670;\n\t20:ljSRJ5AxSGlcenJkfSDnbeJCg5Uc/rngRKmoXm+2ZMXudhMpRK82Z24D8y+nVcPkbfFNQAjc8iATFF0d9v/8+uNQRaKxVQt+4bM/SpeEd3CzNytmojQmfmA5yS9hVHL1Anjtsq7FxKbPs0NELKK59au5CcyoovrlbYMzpJI7XoZglihPJlTGHrra7g3Cuw9LUTmCHUIXGQoXUYfmJAm0Sy4N3z0N58EwBRpcpZJ2sO75v9EGwn6mMJ8+/HnD+XZ5xY/mmBA1Xloyh5TwthzbtfVseIecDpz/7xbl5WcoT84rKKq1LmMDBBsSbAwdbo33gUIlG1CkUjcXx4Zii1l0L5wutIC3zOpDVKDxQyFTc9iBdkpuIzLcODsaGOP4Nv5qfn76bG0XFGVmpYAqUSs4cQb6Ro3qmnmx6ynOMEHi3xwW+dCMXScATK9Z8som3mMhqG7mRb0psLepc+cyRS/5HRDyV1HXyYw+c8eScixw8OW0T459IDHMJyNY20wNnll4;\n\t4:BR1XCNWgICJ/UUI38zSrK9hR8VJiPChIf3k9v5A8aFbUh7p1xld7nu2+APDJ7Zcqff+dXy/DZVrYKvG3h2VZIRRP1d4adyizogWWkg+U9ji5gSSf24yWcf0Hu/OnexPmVm6xnAGdQ2hrLaoOkdsGGblnuCLGrE5QPiJ4Ekqf1vno/3FmAn6b76KwB+HEjAU2WtWUlFTPqrArEnE2fdKYO6hvRntkimpcNPI95M2rxCcb435WP2YCHmSc/bPmP8t+TphqbtyUsE9BTmqWkYKZyw==",
            "=?us-ascii?Q?1; DM5PR0701MB3670;\n\t23:EnpA6z42EA2efNw1MoPz3eiHT97vlsnynp5Smmy?=\n\tqYJjnA4wtGd3KuhT6zeukb9LLvRzFG6ozGjXSfWrLImCa1MWCTm1JwL1bSC9G20/rUcK+mL/7b/42kmni3JceBlHryYVDAe4ahVJ9qfeidOTaL1uU0rkc1Yr1h4VN3N6VVYBBW1m8vylQ5Q3HR0i/H1Oi4U1bLTKzZsfrvBoEMJSBJgec1KDSaFI6XLqp4Fmsiv7rHoyrg0ASduHiMZOgLtoRyp3U1ICa65wuvaGAOSHyZXhVggjoGDXClrQjTXKSTFY8Wr2tBzNk7gJrgAZ+nbTixgRdHL0y7uOxqfK1jGNnIz7bfI3OsWUqlWadbDXsLukOmD/SQKPU8ssQVCYKBUH8N3Ssgx58qcwzCWhtLnAV0PY2m23lz8RVbbiGZ8yyAKXIYKWJRWqEc4y9iikzgvdpvyIzDCJUvRDY1OkvgTQLsahL0fHmKV1Dp4dIRZ18GuIf+ES7c5YUaYDM7748wtWT4WgxHjsi3iHSkmuvsdp7BpMVX93u11N+O6PvAbpXlJ3qQZPHZYwjvi/D3WIbW/zO9fmWT5FlYk7jZTHGXiXoq8Ui5ZqCPafvR6Bya8Q0RGhsUlosVRvn9XyJ13mnVX5iv0xiTtzTWKIDHFWa13v7+INE7Yh2jIaSVTcKgUYupLtjCVhxhcBjL9+0bcBj6Nm1OnTYQViIVjvz6dN/GmPvUM+ahSi3Xi/fdi391qILoC0yJmapktxgmjc7ppcxY8kRJUV6Ge0ZJbFQEcuPhsEAoTmFoTyApqSaEo9mAieiIVTRVrSrkOMQgOGD8ReoZzKDHxdCYK2O8+51Na0kGM82GowBSvWmBTFHWhbPVcBbSWKxbbod56pIaq4GVJEpZEJ+uWA2GndDhEjuFMmWUpZSJ/e/VzVDn4M7b3uzqKBjiUExrDEoAXzRut3qik1ymACgL9eihMgDwOjU9Da+FZ52tyKCEJ/9RZ5SbzzT2gvQ6uxMK9Q4jRg367Fkfcb3AczXNET6A/BBVh91UZxJHMlpAQvGiuHrgUq9f2wAFx/3kPATXiR7g8DtCgOdwOyFc53fKEL6ic+RiH+Hq9Ms8dzGy6assdwbgWaq283TG5VJZNyIt8sgvjQdtbhpggMlHyBH7HJT9J8BoHzjRjo5dr3ShRPb/GpcZydReRlzeNVqZq9iC9TMmRRen/OUTgGsMcTJq82fYJboD3dqA5VnPqu6jEGYTIcKnCSq/Vkpw60mhcqAZvf3qMxJ4TMmtPamxCULwrKsn6Ftv0ksIGDGxKwnqz7TqIFEF35aIxQw/0jiv7S+od9GTOYCJZ6N/0tQJM+v8oKgeT6xPJCnX/50oR5xbPqdzxOfP8EE+27pahqzVaETiKqXLAX31Bc+Px+uUsO5",
            "1; DM5PR0701MB3670;\n\t6:ZnWbcVyndyy1Au+/UM5epuT7m7tZwmKPOjNvuynuzh2PlRb6VRymVZuIFq90fwy/qdN96Y9MrRj3PkKU8EieqfMl4HZQ/XWnTkSiuK5ZCgFBjY0Zb9G6HE8jy901mO+4HGxP5mZN9qYRtT0aFdmYOKde8TyCOEaEgHTz/wuqqWEZm3KmpzGD5ZyecZlTMkpFn0iG8yLLmWZZqfDBl9UJ+vFk5rIWhd5LOmMivfmHFSoBuCCxicspEH/APdnbj+Dv4Odr//ITRvPfCVSQHtvxq1ayLFypFJmMUWGr3pe6Sb65oe+RJsxbYpXIEkBpVx/YqLAp1HXdAHd2a57J9N+cWdRNHtYyyiSJdZxi76LKyGBzS8fFUVJ5gA1tZCPmlL4S8XbMaq2FvSyRFtFGKAHQNZyqhJN3MWr3so2jkdaVuzs146LCph7IMN6YicUJz0RB33u3S3BKGX8QvJK/2eCK5g==;\n\t5:cUOGy/SQAQB6BudOsO17B4i6aBnNX/sVWftFH1Yf4dJubnxQbmGPeAfYYzF6uFv38BP4YLGg/nxoHm7GdyWyxZiSju3biXx7ZhIGV+SdK0SB6bT/08njgbZRcRKJzzZ7af8y95eIrRpc7qdQIdk9gzhris1sjRfcprQcOQLyePA=;\n\t24:GuKwyhs2Wx9oUW3YAMyaZPTgb7uidhtTJVPP5mGQLYPE4Fx64KCA5MkSrQ2y12BxhNv8//xRuEQ1HQaCX3EZLggyMWxU1YTQC/eVR9ZNYMo=",
            "1; DM5PR0701MB3670;\n\t7:3hj11Jpgu1fDpmYQSn50Oy2jNdhos0TOS1NtKRuUjmVFgg2ySW5biBnqhkoQH1ZvGqtafq9rQMcS82ZdOSJrdZn1vvZmyAO5YcJVLao+n09swXYn+XioasUxU8Ur2wRyOo0BLJnQ6ha9+rCWwMO6gBgieH9qCebL9zjEC5hgDokXNcBhK6G8R0vLBI2wrjqaQAqE36UXEdVRXHLI1NYgz97w5WoLjs9/JKfraKQv/7mTjxr3W4d6YUj4GxqTJCxu"
        ],
        "X-MS-TrafficTypeDiagnostic": "DM5PR0701MB3670:",
        "X-Microsoft-Antispam-PRVS": "<DM5PR0701MB36700310E429FAB9CD329A259FA70@DM5PR0701MB3670.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(10201501046)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);\n\tSRVR:DM5PR0701MB3670; BCL:0; PCL:0; RULEID:; SRVR:DM5PR0701MB3670; ",
        "X-Forefront-PRVS": "06290ECA9D",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(39850400004)(376002)(346002)(366004)(396003)(39380400002)(189003)(199004)(25786009)(16526019)(52116002)(81166006)(81156014)(76176011)(8676002)(7696005)(478600001)(72206003)(51416003)(305945005)(26005)(386003)(7736002)(186003)(2361001)(59450400001)(86362001)(47776003)(69596002)(2906002)(66066001)(4326008)(68736007)(2351001)(55016002)(97736004)(21086003)(551934003)(50226002)(6666003)(107886003)(4720700003)(36756003)(8936002)(16586007)(316002)(52396003)(6116002)(106356001)(11346002)(53936002)(105586002)(5660300001)(6916009)(3846002)(486005)(446003)(476003)(48376002)(50466002)(486005)(956004)(2616005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR0701MB3670; H:cavium.com; FPR:;\n\tSPF:None; \n\tLANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "Co7O79gnXGCA5G7kDyS7y+EXxskNAGsn6x8AftwLdTAieoTabT2kNsATq8r/fU1uylI8EMsoPUQsLYIAMIN5ePWtIOUQnDqOwAhcqOMiHMYYeJ7qxiloi5eb9s+5j6L6JtgGhq1rukwv1JO4oTNGR7DiFMSSVvuLkc4I5+imy+I3IF/B7v2THP2P+XNDglte",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "cavium.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Apr 2018 05:47:48.1536\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "ad6513c2-01e3-4cee-4b39-08d5979419e1",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM5PR0701MB3670",
        "Subject": "[dpdk-dev] [PATCH 02/14] net/qede/base: protect DMAE transactions",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Protect DMAE transactions with a spinlock instead of a mutex\n\nSigned-off-by: Rasesh Mody <rasesh.mody@cavium.com>\n---\n drivers/net/qede/base/ecore.h     |    6 ++++--\n drivers/net/qede/base/ecore_dev.c |    6 +++---\n drivers/net/qede/base/ecore_hw.c  |   30 +++++++++++++++++++-----------\n 3 files changed, 26 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h\nindex ce5f3a9..7c642af 100644\n--- a/drivers/net/qede/base/ecore.h\n+++ b/drivers/net/qede/base/ecore.h\n@@ -432,8 +432,10 @@ struct ecore_hw_info {\n #define DMAE_MAX_RW_SIZE\t0x2000\n \n struct ecore_dmae_info {\n-\t/* Mutex for synchronizing access to functions */\n-\tosal_mutex_t\tmutex;\n+\t/* Spinlock for synchronizing access to functions */\n+\tosal_spinlock_t lock;\n+\n+\tbool b_mem_ready;\n \n \tu8 channel;\n \ndiff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c\nindex cd274c3..b15af03 100644\n--- a/drivers/net/qede/base/ecore_dev.c\n+++ b/drivers/net/qede/base/ecore_dev.c\n@@ -423,9 +423,9 @@ void ecore_init_struct(struct ecore_dev *p_dev)\n \t\tp_hwfn->b_active = false;\n \n #ifdef CONFIG_ECORE_LOCK_ALLOC\n-\t\tOSAL_MUTEX_ALLOC(p_hwfn, &p_hwfn->dmae_info.mutex);\n+\t\tOSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_hwfn->dmae_info.lock);\n #endif\n-\t\tOSAL_MUTEX_INIT(&p_hwfn->dmae_info.mutex);\n+\t\tOSAL_SPIN_LOCK_INIT(&p_hwfn->dmae_info.lock);\n \t}\n \n \t/* hwfn 0 is always active */\n@@ -4238,7 +4238,7 @@ void ecore_hw_remove(struct ecore_dev *p_dev)\n \t\tecore_mcp_free(p_hwfn);\n \n #ifdef CONFIG_ECORE_LOCK_ALLOC\n-\t\tOSAL_MUTEX_DEALLOC(&p_hwfn->dmae_info.mutex);\n+\t\tOSAL_SPIN_LOCK_DEALLOC(&p_hwfn->dmae_info.lock);\n #endif\n \t}\n \ndiff --git a/drivers/net/qede/base/ecore_hw.c b/drivers/net/qede/base/ecore_hw.c\nindex 84f273b..34e2e5f 100644\n--- a/drivers/net/qede/base/ecore_hw.c\n+++ b/drivers/net/qede/base/ecore_hw.c\n@@ -592,7 +592,8 @@ enum _ecore_status_t ecore_dmae_info_alloc(struct ecore_hwfn *p_hwfn)\n \t\tgoto err;\n \t}\n \n-\tp_hwfn->dmae_info.channel = p_hwfn->rel_pf_id;\n+\t\tp_hwfn->dmae_info.channel = p_hwfn->rel_pf_id;\n+\t\tp_hwfn->dmae_info.b_mem_ready = true;\n \n \treturn ECORE_SUCCESS;\n err:\n@@ -604,8 +605,9 @@ void ecore_dmae_info_free(struct ecore_hwfn *p_hwfn)\n {\n \tdma_addr_t p_phys;\n \n-\t/* Just make sure no one is in the middle */\n-\tOSAL_MUTEX_ACQUIRE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_LOCK(&p_hwfn->dmae_info.lock);\n+\tp_hwfn->dmae_info.b_mem_ready = false;\n+\tOSAL_SPIN_UNLOCK(&p_hwfn->dmae_info.lock);\n \n \tif (p_hwfn->dmae_info.p_completion_word != OSAL_NULL) {\n \t\tp_phys = p_hwfn->dmae_info.completion_word_phys_addr;\n@@ -630,8 +632,6 @@ void ecore_dmae_info_free(struct ecore_hwfn *p_hwfn)\n \t\t\t\t       p_phys, sizeof(u32) * DMAE_MAX_RW_SIZE);\n \t\tp_hwfn->dmae_info.p_intermediate_buffer = OSAL_NULL;\n \t}\n-\n-\tOSAL_MUTEX_RELEASE(&p_hwfn->dmae_info.mutex);\n }\n \n static enum _ecore_status_t ecore_dmae_operation_wait(struct ecore_hwfn *p_hwfn)\n@@ -777,6 +777,14 @@ static enum _ecore_status_t ecore_dmae_operation_wait(struct ecore_hwfn *p_hwfn)\n \tenum _ecore_status_t ecore_status = ECORE_SUCCESS;\n \tu32 offset = 0;\n \n+\tif (!p_hwfn->dmae_info.b_mem_ready) {\n+\t\tDP_VERBOSE(p_hwfn, ECORE_MSG_HW,\n+\t\t\t   \"No buffers allocated. Avoid DMAE transaction [{src: addr 0x%lx, type %d}, {dst: addr 0x%lx, type %d}, size %d].\\n\",\n+\t\t\t   src_addr, src_type, dst_addr, dst_type,\n+\t\t\t   size_in_dwords);\n+\t\treturn ECORE_NOMEM;\n+\t}\n+\n \tif (p_hwfn->p_dev->recov_in_prog) {\n \t\tDP_VERBOSE(p_hwfn, ECORE_MSG_HW,\n \t\t\t   \"Recovery is in progress. Avoid DMAE transaction [{src: addr 0x%lx, type %d}, {dst: addr 0x%lx, type %d}, size %d].\\n\",\n@@ -870,7 +878,7 @@ enum _ecore_status_t\n \tOSAL_MEMSET(&params, 0, sizeof(struct ecore_dmae_params));\n \tparams.flags = flags;\n \n-\tOSAL_MUTEX_ACQUIRE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_LOCK(&p_hwfn->dmae_info.lock);\n \n \trc = ecore_dmae_execute_command(p_hwfn, p_ptt, source_addr,\n \t\t\t\t\tgrc_addr_in_dw,\n@@ -878,7 +886,7 @@ enum _ecore_status_t\n \t\t\t\t\tECORE_DMAE_ADDRESS_GRC,\n \t\t\t\t\tsize_in_dwords, &params);\n \n-\tOSAL_MUTEX_RELEASE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_UNLOCK(&p_hwfn->dmae_info.lock);\n \n \treturn rc;\n }\n@@ -896,14 +904,14 @@ enum _ecore_status_t\n \tOSAL_MEMSET(&params, 0, sizeof(struct ecore_dmae_params));\n \tparams.flags = flags;\n \n-\tOSAL_MUTEX_ACQUIRE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_LOCK(&p_hwfn->dmae_info.lock);\n \n \trc = ecore_dmae_execute_command(p_hwfn, p_ptt, grc_addr_in_dw,\n \t\t\t\t\tdest_addr, ECORE_DMAE_ADDRESS_GRC,\n \t\t\t\t\tECORE_DMAE_ADDRESS_HOST_VIRT,\n \t\t\t\t\tsize_in_dwords, &params);\n \n-\tOSAL_MUTEX_RELEASE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_UNLOCK(&p_hwfn->dmae_info.lock);\n \n \treturn rc;\n }\n@@ -917,7 +925,7 @@ enum _ecore_status_t\n {\n \tenum _ecore_status_t rc;\n \n-\tOSAL_MUTEX_ACQUIRE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_LOCK(&p_hwfn->dmae_info.lock);\n \n \trc = ecore_dmae_execute_command(p_hwfn, p_ptt, source_addr,\n \t\t\t\t\tdest_addr,\n@@ -925,7 +933,7 @@ enum _ecore_status_t\n \t\t\t\t\tECORE_DMAE_ADDRESS_HOST_PHYS,\n \t\t\t\t\tsize_in_dwords, p_params);\n \n-\tOSAL_MUTEX_RELEASE(&p_hwfn->dmae_info.mutex);\n+\tOSAL_SPIN_UNLOCK(&p_hwfn->dmae_info.lock);\n \n \treturn rc;\n }\n",
    "prefixes": [
        "dpdk-dev",
        "02/14"
    ]
}