get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 117614,
    "url": "https://patches.dpdk.org/api/patches/117614/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20221007174336.54354-35-andrew.boyer@amd.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": "<20221007174336.54354-35-andrew.boyer@amd.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221007174336.54354-35-andrew.boyer@amd.com",
    "date": "2022-10-07T17:43:35",
    "name": "[34/35] net/ionic: retry init commands up to five times",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "97ff2387ddd44caaa61bac765d4f650d4120d5da",
    "submitter": {
        "id": 2861,
        "url": "https://patches.dpdk.org/api/people/2861/?format=api",
        "name": "Andrew Boyer",
        "email": "Andrew.Boyer@amd.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/20221007174336.54354-35-andrew.boyer@amd.com/mbox/",
    "series": [
        {
            "id": 25037,
            "url": "https://patches.dpdk.org/api/series/25037/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=25037",
            "date": "2022-10-07T17:43:01",
            "name": "net/ionic: updates for 22.11 release",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/25037/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/117614/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/117614/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 9F83BA04FD;\n\tFri,  7 Oct 2022 19:48:16 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3AD1242BE8;\n\tFri,  7 Oct 2022 19:45:18 +0200 (CEST)",
            "from NAM10-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam10on2077.outbound.protection.outlook.com [40.107.93.77])\n by mails.dpdk.org (Postfix) with ESMTP id 6C46142C02\n for <dev@dpdk.org>; Fri,  7 Oct 2022 19:45:13 +0200 (CEST)",
            "from MW4PR03CA0180.namprd03.prod.outlook.com (2603:10b6:303:8d::35)\n by BL1PR12MB5128.namprd12.prod.outlook.com (2603:10b6:208:316::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.20; Fri, 7 Oct\n 2022 17:45:11 +0000",
            "from CO1NAM11FT031.eop-nam11.prod.protection.outlook.com\n (2603:10b6:303:8d:cafe::d1) by MW4PR03CA0180.outlook.office365.com\n (2603:10b6:303:8d::35) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24 via Frontend\n Transport; Fri, 7 Oct 2022 17:45:11 +0000",
            "from SATLEXMB04.amd.com (165.204.84.17) by\n CO1NAM11FT031.mail.protection.outlook.com (10.13.174.118) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.5709.10 via Frontend Transport; Fri, 7 Oct 2022 17:45:10 +0000",
            "from driver-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com\n (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Fri, 7 Oct\n 2022 12:45:07 -0500"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=AHZfCOVM6t7mL3+Ey3iSTDdYp0mIrroED4/l1WW5UIbc1MEU2Y0psSxY6WOi+gnEJtHqLY+VsFFHVomM2hBPifElc6utC26gOL1JIu285IP8rgG5E8lPcx7cNu3OFUYDb44InKC4niWD4/CCC9fYfyk/aA2RraMAl/iiUtsMezRAB/Mo9mVvP6w7074YE0/vAXVv1nN+zlA7Z9o74Sqs74fHS0CIc7BDqPw+Qs9lGoaEF49d0kEki2EiYf6uxv4e7fRl4omVjzL2HA2P7+hkwSkBaiC/8G2BeFr0na5P+bdTMY5UU3aRUc68VleXnLhPN3a7nTLYaXsTkbvu7tpUuQ==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=QynrXYAKqSJX6nAqGkgksxzCmA5AMFNLEBBUYxorZeQ=;\n b=RZ0872e9k+xFW8cya29jnce0fgmv0PDjLwXbOf/SokQNxq3KoC60Co04qOrTFew4hJkMV6w/rCuiJln1xbJ9+fyCewcUKdm0e0yBrVYuQG92AawEYMvNjK330haV9YodRkoL5Z4dVSyMQ3xhX+ezG8gVIGMsyWpF4dzI85gz83ZbjY1VtK9XzlfzIFnhV0vYDY0vLC5S2p04laYL3BpJr6nv9+gh8IjEzqNIOCKQwj+sIkXR4c2DjRKQZ+7K9tVij0VS06aZd3N3cpvaqdOQed6k+66YACNrXbtfli+n2CqUZKzuTq0/LuvzfySIUTbbIcnfI2XZjT7S/KVNL8CL1Q==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass\n (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=QynrXYAKqSJX6nAqGkgksxzCmA5AMFNLEBBUYxorZeQ=;\n b=PBKdCI2bsQ4NNHNSRtSFmEbxgaWQyry2knIDNus4UO5jK9p/iltIvs0hGKCLAWIbJ+ZHGFmWNc4VC2rO/H5OHzIR0/+A8e5tSDwiwO4gSfuhdcLLTeztw3LartmlauDfDjK07RRZL1HwQ6YpGSiLVttSzam+NB17SfGgDAKTUGA=",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C",
        "From": "Andrew Boyer <andrew.boyer@amd.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Andrew Boyer <andrew.boyer@amd.com>",
        "Subject": "[PATCH 34/35] net/ionic: retry init commands up to five times",
        "Date": "Fri, 7 Oct 2022 10:43:35 -0700",
        "Message-ID": "<20221007174336.54354-35-andrew.boyer@amd.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20221007174336.54354-1-andrew.boyer@amd.com>",
        "References": "<20221007174336.54354-1-andrew.boyer@amd.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.180.168.240]",
        "X-ClientProxiedBy": "SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com\n (10.181.40.145)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "CO1NAM11FT031:EE_|BL1PR12MB5128:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "ff15f27b-03b2-43f8-06e4-08daa88baeb5",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n EjLAdav4OxC8wZK2+4/mPOI85t0E5JZQLEjIKrbjeyxLVkRWkXyQEzGgCZL/+6csIz0icg5RMVtNPC4Oob8dpSgBd7rZPWCA8InjfJHeBl1G0yB2+24UAAALQ0ghyQSyHKDIx/sQtB/RN8xSsADgg55g2w83PyzqepfJIl2qdIeEeJx/tYUMAfE2ogXocNWIEmqXqB7/W7P20Dz70TUctO+Nnrbcjl9XSR1OZdKFtcKL7HHyNKBPJ8Gl7nO47TQaD4cDdTzo4jIlxnVGKHCiztfCj8Sp6o5Gk+YUg8nVLcPGzrASHhRPz1hN5n2KD4UhIGacJJR3vzNzGj03t7V99vWyByZNgsXaz/Zhgdtx3GtVneQFva22F4L0ngFukls2THhl9i7LtT5IKrESZlgH2b4JP96Llno87B+ZSAByvamQSAVPfQBLNKUK1wv5VPx5ywlcJuhI+TkBHWRfYjllqZw7MvW4bEHQ+VBvq9U2CDQ4RNeaBRVrMW1Sb4taRL58ljDWJs++Rk4SqA4MQyiBImzI7uvspuhn0bm0Lyg/Z0QfHF/GNyGAP5kn4JWoxut30DnFE4fNrYy27QS2IW8mEVgZDiNzzXME5YRTufyRC9OgmmXHK0Xy5iqUtqnDRlzrrg4C1RmZ53LvSr0QrnNXj53iIcSXCgTvQ3MJ8ofx7jwIkmafumtBfeeOG5aIhKSRYusnxLqXNS2tHDAB4luUkuHgRAVgQo6pkPzutOe1/+UbqDPwlWovNQKZkRvZpwG0dASlnsmSPaXU1PfFr+4YGyx8aL9vqDEYshmDQqd2JM6p4uVamB7hbnJvkMnY9PYs",
        "X-Forefront-Antispam-Report": "CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230022)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199015)(40470700004)(36840700001)(46966006)(5660300002)(26005)(82740400003)(6666004)(316002)(356005)(70206006)(40460700003)(8676002)(70586007)(81166007)(4326008)(478600001)(36756003)(1076003)(86362001)(82310400005)(36860700001)(186003)(336012)(83380400001)(47076005)(2616005)(16526019)(6916009)(426003)(2906002)(41300700001)(8936002)(44832011)(40480700001)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "07 Oct 2022 17:45:10.9647 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n ff15f27b-03b2-43f8-06e4-08daa88baeb5",
        "X-MS-Exchange-CrossTenant-Id": "3dd8961f-e488-4e60-8e11-a82d994e183d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];\n Helo=[SATLEXMB04.amd.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n CO1NAM11FT031.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BL1PR12MB5128",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "In some configurations, the FW may return EAGAIN if it is not able\nto respond to commands immediately. Retry the init commands in this\ncase to prevent errors from reaching the client.\n\nFix up some return-code stuff while here, for clarity.\n\nSigned-off-by: Andrew Boyer <andrew.boyer@amd.com>\n---\n drivers/net/ionic/ionic_dev.h  |  1 +\n drivers/net/ionic/ionic_lif.c  | 14 ++++++++++++++\n drivers/net/ionic/ionic_main.c |  4 ++--\n 3 files changed, 17 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/ionic/ionic_dev.h b/drivers/net/ionic/ionic_dev.h\nindex d696de45e0..4d07d9206e 100644\n--- a/drivers/net/ionic/ionic_dev.h\n+++ b/drivers/net/ionic/ionic_dev.h\n@@ -24,6 +24,7 @@\n \n #define IONIC_DEVCMD_TIMEOUT\t\t5\t/* devcmd_timeout */\n #define IONIC_DEVCMD_CHECK_PERIOD_US\t10\t/* devcmd status chk period */\n+#define IONIC_DEVCMD_RETRY_WAIT_US\t20000\n \n #define IONIC_ALIGN\t\t\t4096\n \ndiff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c\nindex 0affdd9dc4..bc6de83d56 100644\n--- a/drivers/net/ionic/ionic_lif.c\n+++ b/drivers/net/ionic/ionic_lif.c\n@@ -1423,10 +1423,17 @@ ionic_lif_adminq_init(struct ionic_lif *lif)\n \tstruct ionic_admin_qcq *aqcq = lif->adminqcq;\n \tstruct ionic_queue *q = &aqcq->qcq.q;\n \tstruct ionic_q_init_comp comp;\n+\tuint32_t retries = 5;\n \tint err;\n \n+retry_adminq_init:\n \tionic_dev_cmd_adminq_init(idev, &aqcq->qcq);\n \terr = ionic_dev_cmd_wait_check(idev, IONIC_DEVCMD_TIMEOUT);\n+\tif (err == -EAGAIN && retries > 0) {\n+\t\tretries--;\n+\t\trte_delay_us_block(IONIC_DEVCMD_RETRY_WAIT_US);\n+\t\tgoto retry_adminq_init;\n+\t}\n \tif (err)\n \t\treturn err;\n \n@@ -1713,12 +1720,19 @@ ionic_lif_init(struct ionic_lif *lif)\n {\n \tstruct ionic_dev *idev = &lif->adapter->idev;\n \tstruct ionic_lif_init_comp comp;\n+\tuint32_t retries = 5;\n \tint err;\n \n \tmemset(&lif->stats_base, 0, sizeof(lif->stats_base));\n \n+retry_lif_init:\n \tionic_dev_cmd_lif_init(idev, lif->info_pa);\n \terr = ionic_dev_cmd_wait_check(idev, IONIC_DEVCMD_TIMEOUT);\n+\tif (err == -EAGAIN && retries > 0) {\n+\t\tretries--;\n+\t\trte_delay_us_block(IONIC_DEVCMD_RETRY_WAIT_US);\n+\t\tgoto retry_lif_init;\n+\t}\n \tif (err)\n \t\treturn err;\n \ndiff --git a/drivers/net/ionic/ionic_main.c b/drivers/net/ionic/ionic_main.c\nindex 996af0a51f..3d8157dac3 100644\n--- a/drivers/net/ionic/ionic_main.c\n+++ b/drivers/net/ionic/ionic_main.c\n@@ -313,10 +313,10 @@ ionic_dev_cmd_check_error(struct ionic_dev *idev)\n \tuint8_t status;\n \n \tstatus = ionic_dev_cmd_status(idev);\n-\tif (status == 0)\n+\tif (status == IONIC_RC_SUCCESS)\n \t\treturn 0;\n \n-\treturn -EIO;\n+\treturn (status == IONIC_RC_EAGAIN) ? -EAGAIN : -EIO;\n }\n \n int\n",
    "prefixes": [
        "34/35"
    ]
}