get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 139253,
    "url": "https://patches.dpdk.org/api/patches/139253/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20240412125249.10625-3-VenkatKumar.Ande@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": "<20240412125249.10625-3-VenkatKumar.Ande@amd.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240412125249.10625-3-VenkatKumar.Ande@amd.com",
    "date": "2024-04-12T12:52:28",
    "name": "[03/24] net/axgbe: improve SFP 100Mbps auto-negotiation",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "a384d680089006d75f85b704b6846d895f97d5ff",
    "submitter": {
        "id": 3256,
        "url": "https://patches.dpdk.org/api/people/3256/?format=api",
        "name": "Venkat Kumar Ande",
        "email": "venkatkumar.ande@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/20240412125249.10625-3-VenkatKumar.Ande@amd.com/mbox/",
    "series": [
        {
            "id": 31734,
            "url": "https://patches.dpdk.org/api/series/31734/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=31734",
            "date": "2024-04-12T12:52:26",
            "name": "[01/24] net/axgbe: remove use of comm_owned field",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/31734/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/139253/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/139253/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 69AD043E52;\n\tFri, 12 Apr 2024 14:53:40 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4F3A6410FA;\n\tFri, 12 Apr 2024 14:53:40 +0200 (CEST)",
            "from NAM12-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam12on2061.outbound.protection.outlook.com [40.107.243.61])\n by mails.dpdk.org (Postfix) with ESMTP id 9920E410FA\n for <dev@dpdk.org>; Fri, 12 Apr 2024 14:53:38 +0200 (CEST)",
            "from BL1PR13CA0334.namprd13.prod.outlook.com (2603:10b6:208:2c6::9)\n by IA0PR12MB8226.namprd12.prod.outlook.com (2603:10b6:208:403::21)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr\n 2024 12:53:35 +0000",
            "from BL6PEPF00020E63.namprd04.prod.outlook.com\n (2603:10b6:208:2c6:cafe::b2) by BL1PR13CA0334.outlook.office365.com\n (2603:10b6:208:2c6::9) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.13 via Frontend\n Transport; Fri, 12 Apr 2024 12:53:35 +0000",
            "from SATLEXMB04.amd.com (165.204.84.17) by\n BL6PEPF00020E63.mail.protection.outlook.com (10.167.249.24) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id\n 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 12:53:35 +0000",
            "from cae-Lilac-RMB.amd.com (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.2507.35; Fri, 12 Apr\n 2024 07:53:33 -0500"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=LIKImuCbs7IyrGXlc/oFwZzMC5eOg5J57px4bstZG02ydE48G2qWM6fdeUtQBgfbHR2UzF2WxBQe2PMjlaAjsC5+0YhK+zFCT3HdzbJvIkAk5DVNnZVTJ6N2iekloc7RTk6dT6rnfho5mPfAK+0HgxX9rhQBw3idzSi5mkvtDspSuEz76CqPLGqYP9YIZTPtFtdF9bD5l+T+I3tcH7ZpBvDLekskhLckcAQd98uqSIYLZPipefQyZQPBcQh7Bp4u4krzc7eN7uDJLxaihTcsxtjnUjlUvXfYxmOb0rSlRTQYJM996F2r87/bAO6K9CNcxD8u+LDf9/3R4EWgf8rucg==",
        "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=JQz/9DJz/6I/UEa2+0sjPqtZ562vcVVwszX/Q+CwDV4=;\n b=JQUztRzUFdwQqwRQynejfbhYfwI8Yl6Ki7+rQMYaNrAo9/wrjP8fmpw06OkAsjZS41LQ4zX6hE7CRVzeS/MSEggn03vmjwzf7B96+Jjo3pu1dvp2aIDLwKFZr+GdMaJuaXFGjOq1itPdKMnKQ9eogiVd6pQoAyibiW0yG6MhvLAuqgQImDyZt+4LQCPIjYJrf8Aomtr6lwagvL5tOXZgnlruS4H/EVfbBD/FashLJEcRFiCCgcT5bM9xjXr70WDajdNLS2Z1HPEFl8jFlbXBQCvgrsUZe7m7FXhe3d9AzpfKpHU5gZ0iZfxueVTiVXWJ65DBQmG96YxaMBqSBYiAXw==",
        "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 (0)",
        "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=JQz/9DJz/6I/UEa2+0sjPqtZ562vcVVwszX/Q+CwDV4=;\n b=voF6CZl00wStqQI+hggFR1As/fRO4AtFjG/4rfnJKE/crCWIJJqCyHPe805CJT7opg9KNyzdEBrT0j7qNJ9xRxb5ewTFlGm3Pxjjrvif98N3QKFSJOyfkvT8PicxdDTCvnszeaKf05DMOexqyMj6Mp1rWRSsq35JG1yfA0RwhZM=",
        "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": "Venkat Kumar Ande <VenkatKumar.Ande@amd.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<Selwin.Sebastian@amd.com>, Venkat Kumar Ande <VenkatKumar.Ande@amd.com>",
        "Subject": "[PATCH 03/24] net/axgbe: improve SFP 100Mbps auto-negotiation",
        "Date": "Fri, 12 Apr 2024 08:52:28 -0400",
        "Message-ID": "<20240412125249.10625-3-VenkatKumar.Ande@amd.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20240412125249.10625-1-VenkatKumar.Ande@amd.com>",
        "References": "<20240412125249.10625-1-VenkatKumar.Ande@amd.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "BL6PEPF00020E63:EE_|IA0PR12MB8226:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "a8f2a561-416e-4831-0451-08dc5aef9115",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n rquhl58c5uAweQ1fL9QmKGjzgGBkda4VB8Qkx5zswCMMednruY+7x+hxNnCon1ZsSsd/AuRRYmCW1izrqlYLxLqBtgjEPfnmeebq1LWn7SHXVJm+7ecWa4GypA7h9x5KitKJZRfjDQVPTCEKl+xz/We5Zg4NNZja6WA2TdhDk4sUN3VdAR3yKk7EZUubdmMa9soxCmcIbw7aFc7JaTGOiW133tRxy3hZQDuTDXCKniJ1cS1nRYWffTAg9c5UlVeXIhPZWsWarhSC+Ej5mrGQ6FKCUeKU/IReDR/ytVnd8a0Iq3jVV64/dDgtAD2VijX5uO22RQGzZovGKRBWl7hKID2X2xtBt++8QCMi6ObjeoUhwAbJHQ5nZzoBt5zc9rK8Xl2XqllXiMh1kbZj1ZJL8d0UZ8aEBO3Ojg0jIC/vTNaitvPNhdKAC4wd/7D12qRtw5xzQCv2QB7RePNBNx5AQ7Fdl5bWE8SjCvpMMLdTzd3SpsWv823rsQD11AAqjlzREt/w9QL3WQf7B3IkEiB+eguUy6ENyaMABJ2//tfTrweH/Lr3Dl5EMmhYajyDB6r/Njmtp+0cEPTKDg7HiLAzOpSTgemd2uqZWuvRT+QpwRyg45z7mrsK1WdAhIU/wuZ5KbilBIBlSNh3SQAoGL8AeIFQcoZWPhKtIkEAJxxmG3N4fYHnAzteK6n5heEJi6rO8bPPVml171tEvDZnrUNX6PClVjevZcWEz70APOUGwFiB5Cq7qTVAr9j0nFnLqNA+",
        "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:(13230031)(1800799015)(376005)(82310400014)(36860700004); DIR:OUT;\n SFP:1101;",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Apr 2024 12:53:35.7056 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a8f2a561-416e-4831-0451-08dc5aef9115",
        "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 BL6PEPF00020E63.namprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "IA0PR12MB8226",
        "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": "After changing speed to 100Mbps as a result of auto-negotiation (AN),\nsome 10/100/1000Mbps SFPs indicate a successful link (no faults or loss\nof signal), but cannot successfully transmit or receive data.  These\nSFPs required an extra auto-negotiation (AN) after the speed change in\norder to operate properly.  Add a quirk for these SFPs so that if the\noutcome of the AN actually results in changing to a new speed, re-initiate\nAN at that new speed.\n\nSigned-off-by: Venkat Kumar Ande <VenkatKumar.Ande@amd.com>\n---\n drivers/net/axgbe/axgbe_ethdev.h   |  1 +\n drivers/net/axgbe/axgbe_mdio.c     | 73 ++++++++++++++++--------------\n drivers/net/axgbe/axgbe_phy_impl.c |  5 ++\n 3 files changed, 46 insertions(+), 33 deletions(-)",
    "diff": "diff --git a/drivers/net/axgbe/axgbe_ethdev.h b/drivers/net/axgbe/axgbe_ethdev.h\nindex df5d63c493..924a26ebe3 100644\n--- a/drivers/net/axgbe/axgbe_ethdev.h\n+++ b/drivers/net/axgbe/axgbe_ethdev.h\n@@ -656,6 +656,7 @@ struct axgbe_port {\n \tenum axgbe_an an_state;\n \tenum axgbe_rx kr_state;\n \tenum axgbe_rx kx_state;\n+\tunsigned int an_again;\n \tunsigned int an_supported;\n \tunsigned int parallel_detect;\n \tunsigned int fec_ability;\ndiff --git a/drivers/net/axgbe/axgbe_mdio.c b/drivers/net/axgbe/axgbe_mdio.c\nindex 913ceada0d..0beeb1d0f5 100644\n--- a/drivers/net/axgbe/axgbe_mdio.c\n+++ b/drivers/net/axgbe/axgbe_mdio.c\n@@ -200,13 +200,14 @@ static void axgbe_switch_mode(struct axgbe_port *pdata)\n \taxgbe_change_mode(pdata, pdata->phy_if.phy_impl.switch_mode(pdata));\n }\n \n-static void axgbe_set_mode(struct axgbe_port *pdata,\n+static bool axgbe_set_mode(struct axgbe_port *pdata,\n \t\t\t   enum axgbe_mode mode)\n {\n \tif (mode == axgbe_cur_mode(pdata))\n-\t\treturn;\n+\t\treturn false;\n \n \taxgbe_change_mode(pdata, mode);\n+\treturn true;\n }\n \n static bool axgbe_use_mode(struct axgbe_port *pdata,\n@@ -880,21 +881,22 @@ static int axgbe_phy_config_fixed(struct axgbe_port *pdata)\n \treturn 0;\n }\n \n-static int __axgbe_phy_config_aneg(struct axgbe_port *pdata)\n+static int __axgbe_phy_config_aneg(struct axgbe_port *pdata, bool set_mode)\n {\n \tint ret;\n \n+\tpthread_mutex_lock(&pdata->an_mutex);\n \trte_bit_relaxed_set32(AXGBE_LINK_INIT, &pdata->dev_state);\n \tpdata->link_check = rte_get_timer_cycles();\n \n \tret = pdata->phy_if.phy_impl.an_config(pdata);\n \tif (ret)\n-\t\treturn ret;\n+\t\tgoto out;\n \n \tif (pdata->phy.autoneg != AUTONEG_ENABLE) {\n \t\tret = axgbe_phy_config_fixed(pdata);\n \t\tif (ret || !pdata->kr_redrv)\n-\t\t\treturn ret;\n+\t\t\tgoto out;\n \t\tPMD_DRV_LOG(DEBUG, \"AN redriver support\\n\");\n \t} else {\n \t\tPMD_DRV_LOG(DEBUG, \"AN PHY configuration\\n\");\n@@ -904,23 +906,26 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata)\n \trte_intr_disable(pdata->pci_dev->intr_handle);\n \n \t/* Start auto-negotiation in a supported mode */\n-\tif (axgbe_use_mode(pdata, AXGBE_MODE_KR)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_KR);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_2500)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_KX_2500);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_1000)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_KX_1000);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SFI)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_SFI);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_X)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_X);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_1000)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_SGMII_1000);\n-\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) {\n-\t\taxgbe_set_mode(pdata, AXGBE_MODE_SGMII_100);\n-\t} else {\n-\t\trte_intr_enable(pdata->pci_dev->intr_handle);\n-\t\treturn -EINVAL;\n+\tif (set_mode) {\n+\t\tif (axgbe_use_mode(pdata, AXGBE_MODE_KR)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_KR);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_2500)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_KX_2500);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_KX_1000)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_KX_1000);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SFI)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_SFI);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_X)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_X);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_1000)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_SGMII_1000);\n+\t\t} else if (axgbe_use_mode(pdata, AXGBE_MODE_SGMII_100)) {\n+\t\t\taxgbe_set_mode(pdata, AXGBE_MODE_SGMII_100);\n+\t\t} else {\n+\t\t\trte_intr_enable(pdata->pci_dev->intr_handle);\n+\t\t\tret = -EINVAL;\n+\t\t\tgoto out;\n+\t\t}\n \t}\n \n \t/* Disable and stop any in progress auto-negotiation */\n@@ -938,16 +943,7 @@ static int __axgbe_phy_config_aneg(struct axgbe_port *pdata)\n \taxgbe_an_init(pdata);\n \taxgbe_an_restart(pdata);\n \n-\treturn 0;\n-}\n-\n-static int axgbe_phy_config_aneg(struct axgbe_port *pdata)\n-{\n-\tint ret;\n-\n-\tpthread_mutex_lock(&pdata->an_mutex);\n-\n-\tret = __axgbe_phy_config_aneg(pdata);\n+out:\n \tif (ret)\n \t\trte_bit_relaxed_set32(AXGBE_LINK_ERR, &pdata->dev_state);\n \telse\n@@ -958,6 +954,16 @@ static int axgbe_phy_config_aneg(struct axgbe_port *pdata)\n \treturn ret;\n }\n \n+static int axgbe_phy_config_aneg(struct axgbe_port *pdata)\n+{\n+\treturn __axgbe_phy_config_aneg(pdata, true);\n+}\n+\n+static int axgbe_phy_reconfig_aneg(struct axgbe_port *pdata)\n+{\n+\treturn __axgbe_phy_config_aneg(pdata, false);\n+}\n+\n static bool axgbe_phy_aneg_done(struct axgbe_port *pdata)\n {\n \treturn pdata->an_result == AXGBE_AN_COMPLETE;\n@@ -1016,7 +1022,8 @@ static void axgbe_phy_status_result(struct axgbe_port *pdata)\n \n \tpdata->phy.duplex = DUPLEX_FULL;\n \n-\taxgbe_set_mode(pdata, mode);\n+\tif (axgbe_set_mode(pdata, mode) && pdata->an_again)\n+\t\taxgbe_phy_reconfig_aneg(pdata);\n }\n \n static int autoneg_time_out(unsigned long autoneg_start_time)\ndiff --git a/drivers/net/axgbe/axgbe_phy_impl.c b/drivers/net/axgbe/axgbe_phy_impl.c\nindex e1b926d48a..5acccf9146 100644\n--- a/drivers/net/axgbe/axgbe_phy_impl.c\n+++ b/drivers/net/axgbe/axgbe_phy_impl.c\n@@ -560,6 +560,8 @@ static bool axgbe_phy_belfuse_parse_quirks(struct axgbe_port *pdata)\n \tif (memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_NAME],\n \t\t   AXGBE_BEL_FUSE_VENDOR, strlen(AXGBE_BEL_FUSE_VENDOR)))\n \t\treturn false;\n+\t/* For Bel-Fuse, use the extra AN flag */\n+\tpdata->an_again = 1;\n \n \tif (!memcmp(&sfp_eeprom->base[AXGBE_SFP_BASE_VENDOR_PN],\n \t\t    AXGBE_BEL_FUSE_PARTNO, strlen(AXGBE_BEL_FUSE_PARTNO))) {\n@@ -796,6 +798,9 @@ static void axgbe_phy_sfp_detect(struct axgbe_port *pdata)\n \tstruct axgbe_phy_data *phy_data = pdata->phy_data;\n \tint ret;\n \n+\t/* Clear the extra AN flag */\n+\tpdata->an_again = 0;\n+\n \t/* Reset the SFP signals and info */\n \taxgbe_phy_sfp_reset(phy_data);\n \n",
    "prefixes": [
        "03/24"
    ]
}