get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 108813,
    "url": "https://patches.dpdk.org/api/patches/108813/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20220322152406.9657-1-jeffd@silicom-usa.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": "<20220322152406.9657-1-jeffd@silicom-usa.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220322152406.9657-1-jeffd@silicom-usa.com",
    "date": "2022-03-22T15:24:06",
    "name": "[v2] net/ixgbe: Retry SFP ID read field to handle misbehaving SFPs",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "6e3e31b1881d24dc63e2790a238228f078f808ac",
    "submitter": {
        "id": 2500,
        "url": "https://patches.dpdk.org/api/people/2500/?format=api",
        "name": "Jeff Daly",
        "email": "jeffd@silicom-usa.com"
    },
    "delegate": {
        "id": 1540,
        "url": "https://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20220322152406.9657-1-jeffd@silicom-usa.com/mbox/",
    "series": [
        {
            "id": 22212,
            "url": "https://patches.dpdk.org/api/series/22212/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=22212",
            "date": "2022-03-22T15:24:06",
            "name": "[v2] net/ixgbe: Retry SFP ID read field to handle misbehaving SFPs",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/22212/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/108813/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/108813/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 071D4A04FF;\n\tTue, 22 Mar 2022 16:24:24 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CE00D40E64;\n\tTue, 22 Mar 2022 16:24:23 +0100 (CET)",
            "from EUR05-VI1-obe.outbound.protection.outlook.com\n (mail-vi1eur05on2107.outbound.protection.outlook.com [40.107.21.107])\n by mails.dpdk.org (Postfix) with ESMTP id 03C0340694\n for <dev@dpdk.org>; Tue, 22 Mar 2022 16:24:23 +0100 (CET)",
            "from VI1PR0402MB3517.eurprd04.prod.outlook.com (2603:10a6:803:b::16)\n by VI1PR04MB5279.eurprd04.prod.outlook.com (2603:10a6:803:62::28)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.23; Tue, 22 Mar\n 2022 15:24:21 +0000",
            "from VI1PR0402MB3517.eurprd04.prod.outlook.com\n ([fe80::f069:df76:7697:8a71]) by VI1PR0402MB3517.eurprd04.prod.outlook.com\n ([fe80::f069:df76:7697:8a71%6]) with mapi id 15.20.5081.023; Tue, 22 Mar 2022\n 15:24:21 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=kJS2VrC55mYEYvJPf/TwJzsD0908MfedH7P66CUth8fnFbozUkjqa5SFTYVbZf7Defi04T+y3UCrVtpBOkbCWmHTzg03F4GwAGUerADM6CoFPXfvdX3nauJr4l5d0+jJM3548HyL+kS+wYLTVVHY8SJScYaUmY/6ftVoy4XLZLBJ4fi6deY1d1KS3S0cB7+K6B4ZCoa741/oc/jE+TeL+QEcdgN+Q3NCADLhEXS7Tf3wsDyiBGHzeCucZ3aUGuLyAbMvulTJPikfP/b2pEEyBHDFNPhdMaXgqAlqYDdFF4sgmZTwpZLZO0RMH9oLKB1GSswB1iXTYmSjhLPmesbwDA==",
        "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=dbEjcmSJBm4aYXzX2ENknoj+OiB++mdGS7EtfHRoEw4=;\n b=Ls8sbq5/EKDKAdCt8EeJ/k/9qLcDWUdiscF6tP0Xbjq+BkmriIVX7wUd4OgHQQoBF6bXJvts/qHcopFwuz/46afzIR/eGH3mG2802AL0V2z2RJ9nTZrrmTH1N5b/vWoek01Cg3yqFD6m4tPyiIAmUlMyGhXoBscAK2gueplYMAHPPt/Zk6dJV7XMxMmsq3L9l7YldrxU2sS6y0nmPJHI6VmleZAW9kMhV0wmRDY7+GLuJFaso0CaEwTcbm77DNo/tAfuB9SXGot6GqR9nc0w5jsfpQuES4n4fhK2j3+2Wz4J5x+CFMMNs70bQ5xVuqxfFx78C7WXaJ0CrMRzrTJsTg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=silicom-usa.com; dmarc=pass action=none\n header.from=silicom-usa.com; dkim=pass header.d=silicom-usa.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=SILICOMLTD.onmicrosoft.com; s=selector2-SILICOMLTD-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=dbEjcmSJBm4aYXzX2ENknoj+OiB++mdGS7EtfHRoEw4=;\n b=Ekclj44vPSBiCDU5Q5jMwx0hm2lpIOolZqUQ9NntqF6WxKWXmsevmd/Z2x+7f65CZ/dgF5Ji4AdKm5YEsnuHHz/0An4wcENHMapqbF971wdHAwk8zsTIIKbXrV2FVcyr9UBpN+lFiB/npSmnBAFu7XjUU7UqqiiV+JifgJKNAp4=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=silicom-usa.com;",
        "From": "jeffd@silicom-usa.com",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Douthit <stephend@silicom-usa.com>,\n Jeff Daly <jeffd@silicom-usa.com>, Haiyue Wang <haiyue.wang@intel.com>",
        "Subject": "[PATCH v2] net/ixgbe: Retry SFP ID read field to handle misbehaving\n SFPs",
        "Date": "Tue, 22 Mar 2022 11:24:06 -0400",
        "Message-Id": "<20220322152406.9657-1-jeffd@silicom-usa.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20220307223337.27876-1-jeffd@silicom-usa.com>",
        "References": "<20220307223337.27876-1-jeffd@silicom-usa.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BN6PR1701CA0011.namprd17.prod.outlook.com\n (2603:10b6:405:15::21) To VI1PR0402MB3517.eurprd04.prod.outlook.com\n (2603:10a6:803:b::16)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "a25761f5-c5c9-41d4-133b-08da0c180a09",
        "X-MS-TrafficTypeDiagnostic": "VI1PR04MB5279:EE_",
        "X-Microsoft-Antispam-PRVS": "\n <VI1PR04MB5279960197073A7416CC1E34EA179@VI1PR04MB5279.eurprd04.prod.outlook.com>",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n k0CrSzkIWyne8h5WE9v6CygSMBjdl+aeTEtPknYhIEup45Eilnig/qpVX/70TSEB4dYs3FTo3MhBxRmlm5QP/Z87m3tslCmqKsMUNNb0Ejtqj48Y+mlbsJudXaVTy+PKTw5jXJ0qXMesUnDE6bEz6bCLtjeF5VQ1vmwSwWgptUlIqlE0KKkI4aFvJEjjPEU2AZ5yY0rLEwIXWTwoZQw3dhwg9mFrSD2HDpKQrIRqol0Hm1e+DJzlmwd1UoJK5NIaEjDwJLoOuRBcSytXuwQ0+ShXwhkYO6OsCyXOpcGJljCdthCjOW82XmFKYNw4iiUlIDxc6DgfAaPf62ty59ZkCINbuYkIfaT73cQreTXc+a++8Ru1p4eBlKCTXGm1zPTJvjZ+eGiTBvZhOETZVAY9C2F3jsXWyisPslkvBLg3FsZCDpDKmSG1D0tT+1kXKJ+PU0/YINvlw9y+hV4a9OFjoYEHUAGb0RMz+Iqk777e/bE4rBoukDRUOGes06nAweT85bnVyQWYqEaakLTSAAzlmnQdCNsnNRPuEoZ5OMWN3t5/Sc3B3Tg04U1qcuTFq44L4bVb53OhYjcdU2l17FjBuj85/bhEtbDP4koyPU1NOXhF8LBRWhJfNjWkhKZX58e764JwvXbzk3iTtVJgB73cn4qPRnDsCFn+/aAyntqiRGZnRTTwENd5jjzWhoCg+F0ZWg7M081XgYhN5JvSiju2fw==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:VI1PR0402MB3517.eurprd04.prod.outlook.com; PTR:;\n CAT:NONE;\n SFS:(13230001)(4636009)(366004)(2906002)(6486002)(6666004)(508600001)(316002)(54906003)(6916009)(86362001)(6506007)(36756003)(38100700002)(38350700002)(6512007)(9686003)(52116002)(26005)(186003)(66946007)(66476007)(66556008)(4326008)(1076003)(2616005)(8676002)(83380400001)(5660300002)(8936002);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n d3BUkiXESN/Xu7cz/GmCbZ0D0N3zGwDa1hjH06QQhV61Y+Tzz2hhB/RUWpVwcsNpzfA2KDyPwh4iY/uZnnaZYqjorzoJG2haBXevxRki4LKp/ykv+Ua01H5t+qK+v8UMFKFTMQkIwHZEcPIvBFfGhHPstrRD4ghz2PWEmjl6dqKYfbNUj5JNcRxlQK7tXqTnZpP45KAWyx3AD6TBnGEK/rPAOgSf84CveYGAOMDRqJTWS9qZS/NnU8FL7uvrqaKosGoQwuP16Lp6brmQZdeNBaf6evvYrzUCJQeLzV7vmjL3oB4m4V1s4asBrgrdA7p7Xr1a8IF91cudi+wAi7hubsIvOhxBmo3d86Kg8Iv68yNrxxfzsfVA1TtolbLtB4RsucG1jnz1e6hVGEXMoARTHIglLBmDvVw827mejCT6niWvppXpPBaGicDxyKQTfxTcq/i6gt8O7Esri7uLHvc24nm7+KWB5Vvwe1ytXapp41ZV4yXE0tvtTZREqpCVHVYBtHvkimxHA6Zr5H0w0Q2+7IV03ttxr9oRjFae+z8vbVCuwX/vOr+d1zgDEdpY5MVNDyfvHXAI4JyRfxqkfeQhWNSIm53QA7XVA0WVqMPqwvR8Aqlu1cVqG/qvCjwgw+aSxG5Pao/H+lQJavIRVSioTb56tXve4NHylu/vtJ4kYglX/u8SVnP3MR4gizAURxpd5hB4o0lDLvcdH43GhxuVR6NvvtfoyTIJK6BoZUmzSrohSnP6nc8CGvUOdDUEn6S8kargLdMWTQ3vgwLMV83oeWUQTeA5vNCSi5kwwPHh8+k7njs7Ly9YjVJnym9WPG/3mL3clqDKkRYTK60kHQy+6BP8nPUWCLyHlvfgnh3dOtR/UUp6fRWnDqY8Nqvx0mNBuaPs+pFlH2wiqiBirTGIcsOMMrp2LPPEn46hsj+HlbJZ1UvjMz6UcZOcshcwCTxrwnTbKZObBVodkCYq6Wg1XABuMj1LA053epfUfZ3Hr385DBeLNDT3Dv9UdAWU+v69vFavZGAl5CDjZ1nj/X91aWI1eLObv0d7scPmJAwrZR6EcRZcOfKKY+HsSyWknkDZXOAArATm3bu5Oik1dgZsxaokp16tEle14X5txkX/gkZ7etxlW0L5c+qWzWcSxC5UtrFbYHN5BwM81tvlN16E0E06vo5OJ6E76HVx5tkcfg/LLv94EYS5ZV8MrQay355GSEKKg3+vyyxAu18vt0KoxXVWxwLfvUBUOLbKD+yNFFO2LkX5iIvwYtiRSDOPdHTwUH+9gBQK/CRkOusqhANrX7vK0/pzKF2CnpMtYUU7bv0dp7AEBGrzEBDFv9nMTZ/YhoTVlLC7lAXUp51jWq+MeCIAsLp7O+99pdSiHdl68YSd9beTD5dHx98YsopK3fGiCmwSE89M6CXnLHb6RSZ5ODQaqx0nd6R33uSzdvFhXEmc3faL4F6EGvHIDSfDsepz",
        "X-OriginatorOrg": "silicom-usa.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a25761f5-c5c9-41d4-133b-08da0c180a09",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n VI1PR0402MB3517.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "22 Mar 2022 15:24:21.5805 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "c9e326d8-ce47-4930-8612-cc99d3c87ad1",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n 1Y1rRFTNDewsECMPdo/8Q8yTZ/b19/Xek8ABOKShL8zt3FTnUImuyq9mfeKtFrjXE3CxGlHtEn4dAjpyXx3GVA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB5279",
        "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": "From: Stephen Douthit <stephend@silicom-usa.com>\n\nSome XGS-PON SFPs have been observed ACKing I2C reads and returning\nuninitialized garbage while their uC boots.  This can lead to the SFP ID\ncode marking an otherwise working SFP module as unsupported if a bogus\nID value is read while its internal PHY/microcontroller is still\nbooting.\n\nRetry the ID read several times looking not just for NAK, but also for a\nvalid ID field.\n\nSince the device isn't NAKing the trasanction the existing longer retry\ncode in ixgbe_read_i2c_byte_generic_int() doesn't apply here.\n\nSigned-off-by: Stephen Douthit <stephend@silicom-usa.com>\nSigned-off-by: Jeff Daly <jeffd@silicom-usa.com>\n---\nv2:\n* Removed superfluous DEBUGOUT\n* Renamed id_reads to retries\n* Don't assume status == 0 means IXGBE_SUCCESS\n\n drivers/net/ixgbe/base/ixgbe_phy.c | 30 ++++++++++++++++++++++++++----\n 1 file changed, 26 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ixgbe/base/ixgbe_phy.c b/drivers/net/ixgbe/base/ixgbe_phy.c\nindex 8d4d9bbfef..657f404fe8 100644\n--- a/drivers/net/ixgbe/base/ixgbe_phy.c\n+++ b/drivers/net/ixgbe/base/ixgbe_phy.c\n@@ -1267,6 +1267,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw)\n \tu8 cable_tech = 0;\n \tu8 cable_spec = 0;\n \tu16 enforce_sfp = 0;\n+\tu8 retries;\n \n \tDEBUGFUNC(\"ixgbe_identify_sfp_module_generic\");\n \n@@ -1279,12 +1280,33 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw)\n \t/* LAN ID is needed for I2C access */\n \thw->mac.ops.set_lan_id(hw);\n \n-\tstatus = hw->phy.ops.read_i2c_eeprom(hw,\n-\t\t\t\t\t     IXGBE_SFF_IDENTIFIER,\n-\t\t\t\t\t     &identifier);\n+\t/* Need to check this a couple of times for a sane value.\n+\t *\n+\t * SFPs that have a uC slaved to the I2C bus (vs. a dumb EEPROM) can be\n+\t * poorly designed such that they will ACK I2C reads and return\n+\t * whatever bogus data is in the SRAM (or whatever is backing the target\n+\t * device) before things are truly initialized.\n+\t *\n+\t * In a perfect world devices would NAK I2C requests until they were\n+\t * sane, but here we are.\n+\t *\n+\t * Give such devices a couple tries to get their act together before\n+\t * marking the device as unsupported.\n+\t */\n+\tfor (retries = 0; retries < 5; retries++) {\n+\t\tstatus = hw->phy.ops.read_i2c_eeprom(hw,\n+\t\t\t\t\t\t     IXGBE_SFF_IDENTIFIER,\n+\t\t\t\t\t\t     &identifier);\n \n-\tif (status != IXGBE_SUCCESS)\n+\t\tDEBUGOUT(\"status %d, SFF identifier 0x%x\\n\", status, identifier);\n+\t\tif (status == IXGBE_SUCCESS &&\n+\t\tidentifier == IXGBE_SFF_IDENTIFIER_SFP)\n+\t\t\tbreak;\n+\t}\n+\n+\tif (status != IXGBE_SUCCESS) {\n \t\tgoto err_read_i2c_eeprom;\n+\t}\n \n \tif (identifier != IXGBE_SFF_IDENTIFIER_SFP) {\n \t\thw->phy.type = ixgbe_phy_sfp_unsupported;\n",
    "prefixes": [
        "v2"
    ]
}