get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 118502,
    "url": "https://patches.dpdk.org/api/patches/118502/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20221018194131.23006-36-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": "<20221018194131.23006-36-andrew.boyer@amd.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221018194131.23006-36-andrew.boyer@amd.com",
    "date": "2022-10-18T19:41:30",
    "name": "[v2,35/36] net/ionic: retry init commands up to five times",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "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/20221018194131.23006-36-andrew.boyer@amd.com/mbox/",
    "series": [
        {
            "id": 25088,
            "url": "https://patches.dpdk.org/api/series/25088/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=25088",
            "date": "2022-10-11T00:49:57",
            "name": "net/ionic: updates for 22.11 release",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/25088/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/118502/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/118502/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 36B7BA0560;\n\tTue, 18 Oct 2022 21:48:37 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2955642B76;\n\tTue, 18 Oct 2022 21:48:37 +0200 (CEST)",
            "from NAM04-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam04on2084.outbound.protection.outlook.com [40.107.102.84])\n by mails.dpdk.org (Postfix) with ESMTP id 688C042B7D\n for <dev@dpdk.org>; Tue, 18 Oct 2022 21:48:29 +0200 (CEST)",
            "from DM6PR04CA0023.namprd04.prod.outlook.com (2603:10b6:5:334::28)\n by BL3PR12MB6379.namprd12.prod.outlook.com (2603:10b6:208:3b2::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Tue, 18 Oct\n 2022 19:48:27 +0000",
            "from DM6NAM11FT103.eop-nam11.prod.protection.outlook.com\n (2603:10b6:5:334:cafe::1e) by DM6PR04CA0023.outlook.office365.com\n (2603:10b6:5:334::28) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34 via Frontend\n Transport; Tue, 18 Oct 2022 19:48:27 +0000",
            "from SATLEXMB04.amd.com (165.204.84.17) by\n DM6NAM11FT103.mail.protection.outlook.com (10.13.172.75) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.5746.16 via Frontend Transport; Tue, 18 Oct 2022 19:48:27 +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.31; Tue, 18 Oct\n 2022 14:48:26 -0500"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=DE80yPDGCav4XyrcgF7+CQ1S66/AMhf7KyKfSz+igTpmwcdY4zXRLXMSZ+aXN+YgY5c5ea+UHFOs73pdKEviGlfNikNwTV1chumUuc6NvlztrQC5INphfSdNu1eDzZt9Yhg7DR7vLg8am9RWeCpGD6INeb+e0pU57QcYwICgDWVhBHUhl4Rbo8fwwL9yXUTLHSLvYsdG4cx+XzB0V1xlIO6Urel6pmPQcT4AOnL92dpwbtdqk5y5nZjUN0Vzo4R2P7QlMMgZ7bDiVtTRq0dev0M2aagKInW0QtCqf3wTYBZQvpAy73n9j3sOoPzvEz9L5FFD6cZ+YUlU/UbTN587+Q==",
        "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=V4ySZQ97TGRwubuwDJWykwiqnU8ddnnd5c4u4PknZsY=;\n b=nr6+GumJ3yCy4bEM0Ok22K27GsMBOHRbzwYW9YS+wgajqclVlkL4VgnQg9qUpRtvOIOodIhIim+mgHHGXohEXqYhsdwE9HkZKsmorPgEyXG+OQjp0hKrFLeyD/rlzppKOBmTD1bT2Au6hWDtvuXfalr66qz/1GCwLau3dQkE2jhknXFaiyZBf1BSiYJvKzIMCFSEDRNBwfE03qz9t/UXMsLJ3inlozPhZWBQisYsEB9ujCiHqXfSvHElNRdQuL9rI5ZRPkHvHWMCO5BIP2QUdW7/rKcXcz+9JKaEamHlmKpLi+0Z7fAYjEXLTuWSvBGorS6hkggrLj1KXo789p38Hg==",
        "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=V4ySZQ97TGRwubuwDJWykwiqnU8ddnnd5c4u4PknZsY=;\n b=ik/sQ9cXzsMpcHT/ZgNFCRpSHb9GG1rG+2t39GVUSy0FWBa+WvBSL96eWEme7Jqdxk7K4KxIB4U5KsJyMJrrFcXLn3QlXfoEUoevxLa5rVgxgd334PMz7oz2SvDV9IjU7whi24SA6v7GOZpCegMyaPQVsotVIQhLpHH8cbAB/EU=",
        "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 v2 35/36] net/ionic: retry init commands up to five times",
        "Date": "Tue, 18 Oct 2022 12:41:30 -0700",
        "Message-ID": "<20221018194131.23006-36-andrew.boyer@amd.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20221011005032.47584-1-andrew.boyer@amd.com>",
        "References": "<20221011005032.47584-1-andrew.boyer@amd.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.180.168.240]",
        "X-ClientProxiedBy": "SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com\n (10.181.40.145)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "DM6NAM11FT103:EE_|BL3PR12MB6379:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "2ac91471-b971-4b01-cf09-08dab141b9b9",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n lNeM6OMHLD6hWN9+EomvtCn6yCJaTtopj3cc4gl/h9RbKg/HkUJSABLY50cY0xN02anWcqr2QDp+bPWzAxB26f9MzSKcFR8y9qTGfY6uImB6kvn0ej3kYZB+CTqrBMofhHTQRVaqweulWVrkV1iRk0U5u3I/OrD9kEN0nLpNT0Txio72e41W5VLhik/oO/y6Ro0ojfYFjdkzRmqQsfiY17ONgUhAY03tR2P0M03vbAzva9W2p9cK0QrFBIdfX2cI485yYU52t4xLKNyBqUOHrvPg/GrEVDfbt/zuZlDocszaz84gTlz3aQL+BjZRat0aM1hbf41MO/wHKzLfyog6lAvLbfw7p2zRc5uz2PZ6KEu/ccCWRmYr4MSZuPFD6eoza3FL+/skqFM66mBBDqpncTGJakLO6NQdsmD9uGS2HMbNWk/Ukc0bWMquHSd1fPSM3kxEBOBFcNmi5CPNTPddxNW8vQCn3J8lANTZi/LRv1X8PN1s/rxx/e1QRUIOmTrqcJ13BlxSeW0Md8bte2sYD2Fek96w2YXjwzaXHTl+5z0IRudWvGEdccTMz+jgCBrwt4JPx4R3foOYDePai2Rk+dIbXZCmug/4aZLmYykXemhgi+33CVvnylvWMcBQe/9cg8FrxKBCA1jJibQoSZlFDN1YGKMmsDj8UQJOSFNqClFZXj9Z7lsZLsVZzIkcBRuAFa+MwqM9lZ/yQVOZXBRLkRaULYm/0I6Vr0oyAkvYmaz9WMJdlUkT9hZKY02mWOAoo+N1oVmlNQcoWDOm9DCW1CcuQxQv69n0ojSdSJPkfsXn6WjfAGhzY+C9G51bbhDL",
        "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)(346002)(39860400002)(396003)(136003)(376002)(451199015)(40470700004)(36840700001)(46966006)(36756003)(86362001)(81166007)(82740400003)(356005)(2906002)(426003)(1076003)(16526019)(186003)(47076005)(40460700003)(5660300002)(40480700001)(44832011)(2616005)(6666004)(36860700001)(26005)(478600001)(83380400001)(336012)(8676002)(82310400005)(316002)(6916009)(70586007)(70206006)(41300700001)(4326008)(8936002)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "18 Oct 2022 19:48:27.2674 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 2ac91471-b971-4b01-cf09-08dab141b9b9",
        "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 DM6NAM11FT103.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BL3PR12MB6379",
        "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 46434f81a4..5e238e8ab7 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 1b5932db12..63635a4b19 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 05f1e90e30..26e08d06c9 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": [
        "v2",
        "35/36"
    ]
}