get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 104864,
    "url": "http://patchwork.dpdk.org/api/patches/104864/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211203225516.571368-7-stephend@silicom-usa.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20211203225516.571368-7-stephend@silicom-usa.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211203225516.571368-7-stephend@silicom-usa.com",
    "date": "2021-12-03T22:55:15",
    "name": "[6/7] net/ixgbe: Retry SFP ID read field to handle misbehaving SFPs",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "c4910d3363021ca64733dbee4ba0b6bb50033ec6",
    "submitter": {
        "id": 2437,
        "url": "http://patchwork.dpdk.org/api/people/2437/?format=api",
        "name": "Stephen Douthit",
        "email": "stephend@silicom-usa.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patchwork.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211203225516.571368-7-stephend@silicom-usa.com/mbox/",
    "series": [
        {
            "id": 20852,
            "url": "http://patchwork.dpdk.org/api/series/20852/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=20852",
            "date": "2021-12-03T22:55:09",
            "name": "ixgbe SFP handling fixes",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/20852/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/104864/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/104864/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 5788DA0C41;\n\tFri,  3 Dec 2021 23:56:36 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8C3754274C;\n\tFri,  3 Dec 2021 23:56:07 +0100 (CET)",
            "from EUR05-VI1-obe.outbound.protection.outlook.com\n (mail-vi1eur05on2127.outbound.protection.outlook.com [40.107.21.127])\n by mails.dpdk.org (Postfix) with ESMTP id CDB4D410DC\n for <dev@dpdk.org>; Fri,  3 Dec 2021 23:56:00 +0100 (CET)",
            "from AM0PR04MB4083.eurprd04.prod.outlook.com (2603:10a6:208:64::29)\n by AM0PR04MB6404.eurprd04.prod.outlook.com (2603:10a6:208:178::23)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Fri, 3 Dec\n 2021 22:56:00 +0000",
            "from AM0PR04MB4083.eurprd04.prod.outlook.com\n ([fe80::f4db:d40d:a746:7bfc]) by AM0PR04MB4083.eurprd04.prod.outlook.com\n ([fe80::f4db:d40d:a746:7bfc%7]) with mapi id 15.20.4755.019; Fri, 3 Dec 2021\n 22:56:00 +0000",
            "from lappy.adi.eng (173.14.114.227) by\n BL1PR13CA0431.namprd13.prod.outlook.com (2603:10b6:208:2c3::16) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.10 via Frontend\n Transport; Fri, 3 Dec 2021 22:55:59 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=W7SR7FrPc2Kd4JWEzSoJSyfcma+CWzIOc9o4KgEUC60OBWBc1WtexMCqbwrCUnJ6zP8S0Gdh0f4JzW4OTGQytB+zUjdRWqw5/rJFrY4SHyZ9RU0yqgxTEzRmchs1URilJqNdutgCQW5rUc2ulL5t3FZT2kTcajjs/5lMW+kq1QSgcGf4okFcXhg6Wq4XKx6rthj60Y+sUviOny9zD5re4LKjcp2YDEFMjxsM9aL5WeiZKSESd/NKn5CHujQQsrKiu5ln6v5SqFZPXKmIE/xmRtZFCeRSmvIIT7deoeRcbHCPEXfraweP00IgN7Qf+fQJ3n5yZF+xqbZTyY7sNdn2ag==",
        "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=+cygPwvzvwBIhArNeOm/AlwWOV4zV9Ta/anCCBEjUFY=;\n b=MlH+OHyhhgz2e7Pkou+Dcr8h7qjD1JmB7dX4s8/czlxcl5GKy2AZFyUzvlnSaQPLE4zZzMPgp5Pfmdj+2BdLdzh7+yQgboFRk0v+7C4z1Ycee1E3QeQqVCDEwrKpu6Pnp5mI7YFEDs3t5WpvZ3ALv/uOgCOj5M39GTVcNeUgq4TxURXZUXq3W2Wv3ZYrIZbMGpTL02UsJL6TMn5kVX7lwgpFW0lhgkh332KXdKh/lmETu7HCdm4HIfbMmOqMPpCczfCCSjsFhz0PLtI2sA8bbBk2i3HiJPokY7m0R9EiaIh/90fxpQt8v8vMvsQcJrnaiZsg0n3s+1kSbX6gaY8P/A==",
        "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=+cygPwvzvwBIhArNeOm/AlwWOV4zV9Ta/anCCBEjUFY=;\n b=iNRCyRu+rEqbNaBR07LqThG2kMIXqj1xyy97go8jkNi+GkmaTq1ryqfg19Ioe5TASjwh1DOXKut3V8A6lrBNDFGFYE/pWvyaeiSdCt5fP63VNCMFJ6NplMZclewKt5n//ASs8T4NCEb4coAQDxy+LY133DPJMWvSEaVjZA23Cq8=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=silicom-usa.com;",
        "From": "Stephen Douthit <stephend@silicom-usa.com>",
        "To": "dev@dpdk.org",
        "Cc": "wenw@silicom-usa.com, Stephen Douthit <stephend@silicom-usa.com>,\n Haiyue Wang <haiyue.wang@intel.com>",
        "Subject": "[PATCH 6/7] net/ixgbe: Retry SFP ID read field to handle misbehaving\n SFPs",
        "Date": "Fri,  3 Dec 2021 17:55:15 -0500",
        "Message-Id": "<20211203225516.571368-7-stephend@silicom-usa.com>",
        "X-Mailer": "git-send-email 2.31.1",
        "In-Reply-To": "<20211203225516.571368-1-stephend@silicom-usa.com>",
        "References": "<20211203225516.571368-1-stephend@silicom-usa.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BL1PR13CA0431.namprd13.prod.outlook.com\n (2603:10b6:208:2c3::16) To AM0PR04MB4083.eurprd04.prod.outlook.com\n (2603:10a6:208:64::29)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "2cd8edc4-76be-4b4e-90ad-08d9b6b0130d",
        "X-MS-TrafficTypeDiagnostic": "AM0PR04MB6404:",
        "X-Microsoft-Antispam-PRVS": "\n <AM0PR04MB640482C53B04EBEC2A2CC54F946A9@AM0PR04MB6404.eurprd04.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:8273;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n xj/NaJmJY/tNTIRIDK1S18amRqwI9kxD+TptApZFyJeExzo4oEq+ktUWBufuWvawtRUhPryE5u1LXwWp22ddCNXjyUiQ0nX+SQrp1a4D4SQbO7whHy5uv8ZgVRicbrH5GafjJV1n5cdGq4GVeRwguh2n25of62xNJWb8MmjDhrALOJvEgamGZaY3u8JwG9cDna45rpBVyg01oH2iG4V7dpaYCBwFz2cj5zK2rcoqbsaWQ5g1eMequd227KAZ/z9Nl95tRlMqTAOj/6YMc7AV43h8PhqN0H804kXZRyHgRgzvYZfg7QhZsHQ2iD5d3NXpFLlQfL1XUTJFX9JjZnKS7flRpnxSbglFZPlAG9LCUKLPYqi6E6iCAjvMxrMw358uIHKJmWjEKFCE0uTehme6FswPOQYhom6EqLQUrswGzRu4SJf+vrUdpAWKazfVP29QpnoY5dX2Udcttb8xQKlqVo2334+xpgPMK2QG0jY7kCYAKpRxg3iVzsPWrbN+x6zOQiHZUoTubYT/5nYT+dSwbYmqe80ia6v4F9VhnkwxGXsfwYYqgh115zJGQqxa3J3Pn6+nMFwoJWHPhjrLWenVxgTW1P8pTpR+4Ov01oey9XEUROoZn/X5yUmcRHpf4t/aH+u/CJAjevfO6V1kqX3x/dw0AWX/BbnX7vjmxmWoegEVEY3Qh1CO/Jz/2QIcVkK7PEtraqgehjJCbVE6dLAwPg==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AM0PR04MB4083.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(4636009)(366004)(8936002)(2906002)(508600001)(6916009)(8676002)(6486002)(26005)(956004)(83380400001)(316002)(1076003)(36756003)(5660300002)(86362001)(186003)(4326008)(66946007)(2616005)(38100700002)(38350700002)(6506007)(66556008)(52116002)(66476007)(6666004)(6512007)(54906003);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n KImqoMqEmH1NtYfHWMFR45b57s279NqtpL51nqDnxi6wH1F/KaMeIiz9CKIKqwB2SKVCNOApzLLMBhpC991RViqJ4qBbXllIqfwK/TqelFWdbg7WcBFUh3AdIH15QU7pOIUKjMdyVAt18WgWdwcui61U2a5fZIZeUBd/s8qGF24fAo8NLU4T3JAJykU0HWk/uO6bxnsYYbFeEeH3PKdWxPk6BAnR/IIdQHDq+dk+KlDmQc0RSQiWjUsjNk9zPgkZkFDMn3i1fLf2KCXQptXSXbtoijGxQL2sxQeSI98SW9HBxOb7AEQWzDEzEe8j/wh641kr1zqPFHlEjDtbJIsFJwAWcby8Xbe7aZHeGpp0V/hveoB7F7ZGq2U39l49WjRfXy702hM5+mTMD+fQTERoeYwVlyXOWm09n7h0WwYoyBEUagrOq/jVHA4/kUYKgCcpoDfCs5wS4eHoBRhyLGox7KEnH4Zs+J92jSxQQtP+bmxfVlDZV8hADS9mVnf9BqhSqr9XPngh5v4l44Qy1Nxv/39FWCXff1ePmTxvTlm5gezES8aK/zZtGniQP9QfOZKeI94SXH1GHWs01EBq+/4gBb+Ewgp4q8WvjVazdRyO7HftjSwK1UNYkaSeAfEjbQliwPQNB3k5nBT/pvk5qAryM3TUnuAL4dcq+06yPaLeq5WEMwM+aKJng5Ue1qlcQGXrbPKm/VSibqGIVEaZjN89y4IEhvmSdQrxNFmAVTtbqLPhwF+BA3CJ7PGTvVS9qIInzjdv78WwvPg1xOHGzMW2y5R06I9i2hA4UlQHDEgrAiqiEnT5LXyqkXzdBc0VUWNkDAXlvycQudXO5WFy90pQIdk1hROALyKRNvzSHpXhiepH0384tIpYOqv+mrmrIhmkR59eTNgONh3CD1AWHpACR673FFIYJAcpUlICdtG1+ajwz+GCGkCdHA3Bk/UKMheaTzm9h/bP8q72CtA3qwkhbqXCwZk3oKZu4s3i/1J4LXOUzVGTQVtfRKK6rJt8Nyy083q5ZfN2c9IK+BBpSphUgpNdhy7GGtzBK8oADfztWq1MEd5Nfe37qerzHtH+Ut26DumN8VBHs2v3uj3GUCdcxdLe7QqwBU5K/ZU2/iVTOKqlp+auo3agrbZ6rhuymFcNvZ8EA3HCx3sLppLaFMxFqsh9+5izzvFKH48RafbUVmq8x+6syJ0Rors/59DHu2GBbGQTQpFCbrJOJZnAouYwiZ/ksa1BTMAlIT1FM1Jr1my0vXx2BRqOqr37LRA/j9jsNXrO7BFZUVmRDBDQpq7Cx+eX1UH1hnWmuCuU5CLgEZLLaBkYDq2WjisFAl3zIT2jbeYdqLC6TBNOCFCVnu5+vInADslzhvaMA+eSNLyKuceKL41bkGtzSr/i4Z0GuK0Pcyasqa/rUNdjdyViFLg/8hXmcoSNiMUCELiWld8UZD8hGl3/vzf7vGqlqT9cGl0t2seR4iJc41zyz4FVSeY3coasNfUZ73vT/A0xF2w4ZVp7A65ANTC97JNn3Wfcb0s108NT+bGBh6P2GB/AWe2WMmroxa1TjWdtoqIPfiLsusrSVTegpCCMSCzEEriWrTjA3hUEpwXEVPjAiXGsUXOH/+4BSQGf6bOrAbfbRXdZLcVZ4ZTjzqTC4+MMKpXWQ+KvFpOJuy2byGKWHPJRe3/cKS0Lknff3btVSu6AYN1j9TE=",
        "X-OriginatorOrg": "silicom-usa.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 2cd8edc4-76be-4b4e-90ad-08d9b6b0130d",
        "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR04MB4083.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Dec 2021 22:56:00.0930 (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 ZZn+hmB0bP5R/5fbwMcumCpOUylvKGaflcIAwAR/3qLnQD0wzrSMD9AbYpaSV88EN1slq7NsaLv/rBlHkv0MXup2QEMxDMiA3MwvVAaCoRA=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR04MB6404",
        "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": "Some XGS-PON SFPs have been observed ACKing I2C reads and return\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 it's 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 trasaction the existing longer retry code\nin ixgbe_read_i2c_byte_generic_int() doesn't apply here.\n\nSigned-off-by: Stephen Douthit <stephend@silicom-usa.com>\n---\n drivers/net/ixgbe/base/ixgbe_phy.c | 31 ++++++++++++++++++++++++++----\n 1 file changed, 27 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ixgbe/base/ixgbe_phy.c b/drivers/net/ixgbe/base/ixgbe_phy.c\nindex d8d51d2c3f..429b2b4142 100644\n--- a/drivers/net/ixgbe/base/ixgbe_phy.c\n+++ b/drivers/net/ixgbe/base/ixgbe_phy.c\n@@ -1275,6 +1275,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 id_reads;\n \n \tDEBUGFUNC(\"ixgbe_identify_sfp_module_generic\");\n \n@@ -1287,12 +1288,34 @@ 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 slave\n+\t * device) before things are truely 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 (id_reads = 0; id_reads < 5; id_reads++) {\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, id %d\\n\", status, identifier);\n+\t\tif (!status &&\n+\t\t    identifier == IXGBE_SFF_IDENTIFIER_SFP)\n+\t\t\tbreak;\n+\t}\n+\n+\tif (status != IXGBE_SUCCESS) {\n+\t\tDEBUGOUT(\"Failed SFF ID read (%d attempts)\\n\", id_reads);\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": [
        "6/7"
    ]
}