From patchwork Wed Jun 7 15:17:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Mikhaylov X-Patchwork-Id: 104576 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp280775vqr; Wed, 7 Jun 2023 08:25:04 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4jD3uxGaW0fR4eGf6LqHTcl7lSFzxy9IXTfD4w4xDJn9DZm2xUhiBSmchPsOvfuirS5dS3 X-Received: by 2002:a05:6a20:a126:b0:10c:2cb7:29b1 with SMTP id q38-20020a056a20a12600b0010c2cb729b1mr1322120pzk.51.1686151504325; Wed, 07 Jun 2023 08:25:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686151504; cv=none; d=google.com; s=arc-20160816; b=a1nfY6dA0/LihAkFbE7IPvuJAk3N7gZJF/GH8x2jISBXq+ujDOScdl8JNzynyJXMCS XME0vKLtWDuYqJexWO60a33Aqu0jCnkXQF7dd5F4Octb2AqRN6fRRGsQ3viihPO5sutU y8qP+2tGVtS74D2IRaYN8hGBhuiW64YF/GvRTEWSvFBOAV98RFbfoX8lgHQJuwsDOimM 6pR7dYWiUbkBc/ahwwYnU7+AQjs3VUEHR/eZlQ8Re8H/i8zzklET19Th8xcKxGJrw/La KGVP0mJs3EiOe8o+KtAhaj3VFxxhCU+XxQ9lL8TWgo5xzqNwmEyKpSg5FHxuGsWnJPwN r2VQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WeqtwiQhONf8j07mpNFn1jzgxpzelUIw0fWyS3xg0dc=; b=mHGcV1OlWv5xxnwQ6va0jisX/A4ILvbi1AnqKaV6UYVRbZrFBfcd75kZpM09vZn0G0 6C1HJRhQ4qDtMxtdh6c76AhaRbLreQiqWp+9Gnja8VufHSI8zTBBMrdKRQ2tOuaTs/Qx 9/i038iWzlVLYyPTX2ST8HCeXcQMC/FjD7BLHCuEvXhAukS2RjT3On+nP8JLNxhncbKB q0IWZ0tJnpZ5P110/r9N/wORtZ+uSGhDE3j8gkd2lwvn8rzExLsd/sH3jITeLtpLYIQB zN2nfJWFgDeN0S0dNjrvsboLHbwui3tDs8ebNDDLdCkk4Pnq+ha0S1q03T0aS6CnVrO1 qDsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=Lx17MFNs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s9-20020a170902988900b001b20bf44a4asi5091142plp.215.2023.06.07.08.24.49; Wed, 07 Jun 2023 08:25:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=Lx17MFNs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235414AbjFGPR7 (ORCPT + 99 others); Wed, 7 Jun 2023 11:17:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241165AbjFGPR4 (ORCPT ); Wed, 7 Jun 2023 11:17:56 -0400 Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2685E1BE2; Wed, 7 Jun 2023 08:17:54 -0700 (PDT) Received: by mail-lj1-x22e.google.com with SMTP id 38308e7fff4ca-2b203360d93so7257961fa.3; Wed, 07 Jun 2023 08:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686151072; x=1688743072; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WeqtwiQhONf8j07mpNFn1jzgxpzelUIw0fWyS3xg0dc=; b=Lx17MFNsn/9ERHdWH/+iZazwCcZL6wc+m6u7vV9uUaqy0wliQUbPKVrER8Lkw8FQyA +3ckoe7wBacq1yOBaZ7rSJGG+xtFS0koGBmwRl3S7Px822Ohwmbdtll5EIkZG4HN1kT1 iBluAI1l5R4DjR2FjOQqhrKVm7Qwj6+gmpg1t+zgUvNiUDqkmgsrE1Ta8Y7P3E4QU8iE cALpYcsgOXdceRd4NxFbIDym0sWRxkJ+BlYp63ZSVjI7yPgfjhgtAygG10ZWgv5YPVJn 7f6a85lkhI/R+Px8yJTsni+ahz8Mj//cIHECxYu8tdCMHyCpSxJglZk4tXnY+nOmD7HO F5Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686151072; x=1688743072; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WeqtwiQhONf8j07mpNFn1jzgxpzelUIw0fWyS3xg0dc=; b=HR+TfBkj+lrlarNAYmtX2vWUR36xDfo2qrSh6zVbGMi9AifAtpaXw2AoXP7Ea121Dn SsfFeyeWWteHUj2KpO+TecjckceEuO/cHcZd7IJV3ARIFYsA59PKeXklS7edTPzH/KY3 DXrwmN6yHFouv+N71VQAursymaO6wnf8JDvCs2XWpjeOQ6kS+qA9VanVmb7TTu9yVOCc NsH5ZeBiJeeUySHGx4z2Ivae1RvU3fM0CH1jmhaQUTo23KGc41NrqJugwT92Lt6nBFDS zqpOBMEdDsYeug49iDPSRBX+d3b+MQBRZrIAT5EMQj60woEx8rRvQTfqTVpy7vUEKejU 6JaA== X-Gm-Message-State: AC+VfDzmhc3Nb9Q+7IeiH80OXqbTqTLy6i1pJAgNVpbdde//2Du6kWx2 2KfzYdf8YjkRELuwWFutwlk= X-Received: by 2002:a2e:854b:0:b0:2b1:cf7c:a892 with SMTP id u11-20020a2e854b000000b002b1cf7ca892mr2458042ljj.30.1686151072022; Wed, 07 Jun 2023 08:17:52 -0700 (PDT) Received: from localhost.localdomain (95-31-191-227.broadband.corbina.ru. [95.31.191.227]) by smtp.googlemail.com with ESMTPSA id v5-20020a2e87c5000000b002ad9a1bfa8esm2302014ljj.1.2023.06.07.08.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 08:17:51 -0700 (PDT) From: Ivan Mikhaylov To: Samuel Mendoza-Jonas , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vijay Khemka Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org, Ivan Mikhaylov , Simon Horman Subject: [PATCH v3 1/2] net/ncsi: make one oem_gma function for all mfr id Date: Wed, 7 Jun 2023 18:17:41 +0300 Message-Id: <20230607151742.6699-2-fr0st61te@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230607151742.6699-1-fr0st61te@gmail.com> References: <20230607151742.6699-1-fr0st61te@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768057999686761059?= X-GMAIL-MSGID: =?utf-8?q?1768057999686761059?= Make the one Get Mac Address function for all manufacturers and change this call in handlers accordingly. Reviewed-by: Simon Horman Signed-off-by: Ivan Mikhaylov --- net/ncsi/ncsi-rsp.c | 88 ++++++++++----------------------------------- 1 file changed, 19 insertions(+), 69 deletions(-) diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c index 6447a09932f5..91c42253a711 100644 --- a/net/ncsi/ncsi-rsp.c +++ b/net/ncsi/ncsi-rsp.c @@ -611,14 +611,15 @@ static int ncsi_rsp_handler_snfc(struct ncsi_request *nr) return 0; } -/* Response handler for Mellanox command Get Mac Address */ -static int ncsi_rsp_handler_oem_mlx_gma(struct ncsi_request *nr) +/* Response handler for Get Mac Address command */ +static int ncsi_rsp_handler_oem_gma(struct ncsi_request *nr, int mfr_id) { struct ncsi_dev_priv *ndp = nr->ndp; struct net_device *ndev = ndp->ndev.dev; const struct net_device_ops *ops = ndev->netdev_ops; struct ncsi_rsp_oem_pkt *rsp; struct sockaddr saddr; + u32 mac_addr_off = 0; int ret = 0; /* Get the response header */ @@ -626,7 +627,19 @@ static int ncsi_rsp_handler_oem_mlx_gma(struct ncsi_request *nr) saddr.sa_family = ndev->type; ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE; - memcpy(saddr.sa_data, &rsp->data[MLX_MAC_ADDR_OFFSET], ETH_ALEN); + if (mfr_id == NCSI_OEM_MFR_BCM_ID) + mac_addr_off = BCM_MAC_ADDR_OFFSET; + else if (mfr_id == NCSI_OEM_MFR_MLX_ID) + mac_addr_off = MLX_MAC_ADDR_OFFSET; + else if (mfr_id == NCSI_OEM_MFR_INTEL_ID) + mac_addr_off = INTEL_MAC_ADDR_OFFSET; + + memcpy(saddr.sa_data, &rsp->data[mac_addr_off], ETH_ALEN); + if (mfr_id == NCSI_OEM_MFR_BCM_ID || mfr_id == NCSI_OEM_MFR_INTEL_ID) + eth_addr_inc((u8 *)saddr.sa_data); + if (!is_valid_ether_addr((const u8 *)saddr.sa_data)) + return -ENXIO; + /* Set the flag for GMA command which should only be called once */ ndp->gma_flag = 1; @@ -649,41 +662,10 @@ static int ncsi_rsp_handler_oem_mlx(struct ncsi_request *nr) if (mlx->cmd == NCSI_OEM_MLX_CMD_GMA && mlx->param == NCSI_OEM_MLX_CMD_GMA_PARAM) - return ncsi_rsp_handler_oem_mlx_gma(nr); + return ncsi_rsp_handler_oem_gma(nr, NCSI_OEM_MFR_MLX_ID); return 0; } -/* Response handler for Broadcom command Get Mac Address */ -static int ncsi_rsp_handler_oem_bcm_gma(struct ncsi_request *nr) -{ - struct ncsi_dev_priv *ndp = nr->ndp; - struct net_device *ndev = ndp->ndev.dev; - const struct net_device_ops *ops = ndev->netdev_ops; - struct ncsi_rsp_oem_pkt *rsp; - struct sockaddr saddr; - int ret = 0; - - /* Get the response header */ - rsp = (struct ncsi_rsp_oem_pkt *)skb_network_header(nr->rsp); - - saddr.sa_family = ndev->type; - ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE; - memcpy(saddr.sa_data, &rsp->data[BCM_MAC_ADDR_OFFSET], ETH_ALEN); - /* Increase mac address by 1 for BMC's address */ - eth_addr_inc((u8 *)saddr.sa_data); - if (!is_valid_ether_addr((const u8 *)saddr.sa_data)) - return -ENXIO; - - /* Set the flag for GMA command which should only be called once */ - ndp->gma_flag = 1; - - ret = ops->ndo_set_mac_address(ndev, &saddr); - if (ret < 0) - netdev_warn(ndev, "NCSI: 'Writing mac address to device failed\n"); - - return ret; -} - /* Response handler for Broadcom card */ static int ncsi_rsp_handler_oem_bcm(struct ncsi_request *nr) { @@ -695,42 +677,10 @@ static int ncsi_rsp_handler_oem_bcm(struct ncsi_request *nr) bcm = (struct ncsi_rsp_oem_bcm_pkt *)(rsp->data); if (bcm->type == NCSI_OEM_BCM_CMD_GMA) - return ncsi_rsp_handler_oem_bcm_gma(nr); + return ncsi_rsp_handler_oem_gma(nr, NCSI_OEM_MFR_BCM_ID); return 0; } -/* Response handler for Intel command Get Mac Address */ -static int ncsi_rsp_handler_oem_intel_gma(struct ncsi_request *nr) -{ - struct ncsi_dev_priv *ndp = nr->ndp; - struct net_device *ndev = ndp->ndev.dev; - const struct net_device_ops *ops = ndev->netdev_ops; - struct ncsi_rsp_oem_pkt *rsp; - struct sockaddr saddr; - int ret = 0; - - /* Get the response header */ - rsp = (struct ncsi_rsp_oem_pkt *)skb_network_header(nr->rsp); - - saddr.sa_family = ndev->type; - ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE; - memcpy(saddr.sa_data, &rsp->data[INTEL_MAC_ADDR_OFFSET], ETH_ALEN); - /* Increase mac address by 1 for BMC's address */ - eth_addr_inc((u8 *)saddr.sa_data); - if (!is_valid_ether_addr((const u8 *)saddr.sa_data)) - return -ENXIO; - - /* Set the flag for GMA command which should only be called once */ - ndp->gma_flag = 1; - - ret = ops->ndo_set_mac_address(ndev, &saddr); - if (ret < 0) - netdev_warn(ndev, - "NCSI: 'Writing mac address to device failed\n"); - - return ret; -} - /* Response handler for Intel card */ static int ncsi_rsp_handler_oem_intel(struct ncsi_request *nr) { @@ -742,7 +692,7 @@ static int ncsi_rsp_handler_oem_intel(struct ncsi_request *nr) intel = (struct ncsi_rsp_oem_intel_pkt *)(rsp->data); if (intel->cmd == NCSI_OEM_INTEL_CMD_GMA) - return ncsi_rsp_handler_oem_intel_gma(nr); + return ncsi_rsp_handler_oem_gma(nr, NCSI_OEM_MFR_INTEL_ID); return 0; } From patchwork Wed Jun 7 15:17:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Mikhaylov X-Patchwork-Id: 104604 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp303315vqr; Wed, 7 Jun 2023 09:00:43 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6aJEctxikjjZ/pX4jmitC7QhNL126VSQL55wEtZmS+0I+0c7cD7olPI1oRRPAJDP52r8su X-Received: by 2002:a17:902:7788:b0:1ac:9890:1c49 with SMTP id o8-20020a170902778800b001ac98901c49mr2274516pll.15.1686153642915; Wed, 07 Jun 2023 09:00:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686153642; cv=none; d=google.com; s=arc-20160816; b=rcszaLGjVMLB48FBKuyK8caviiwZXBDup9ODh/VpxyThB33RqsuWoVvO290hR7JsSo PtV3AxfP+g6Vd75pd5Q3D/jycpDI11l/boiwL5cr9gxfQgl/EBP5fQcX5SPxWb7DmzcA qwy4r9c1gGmHOroQ1pGkcrf3MCSeDH6KB+hl2UxEy0RyfGSjW2wsD7K5qalNj759Eaw4 W6sXU4eK/eoqITpRk4xShmmPrIO8RqRifSWEwpjgaxGl/FmtPgSVM3OhdqWbKEePe98o S8JgAd2Pu+Tt0x+cLvKl4ftzTN3uJC6SSAhCDZQX1jkIByu3XD7xCP+t8iM6t6r1S1vZ hf/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=J8z7m82/KC/ogG5KfzFtCE/IZsx2I1+lo+fvkMs3lVI=; b=jVy4mXpf1j8Mvcek7fVEH3Ya8UWDMBgh2tWxd4sbiXWz8lHJlWQspE3BBqC7xZQoKW Axy/fg0VsMcM1WeXTE2ZaBGi0E6XNInyd6bH497LMMKPsFtvTjVUdehD/DR/rmZ+zsDF hNuFf30wVeQpl8me0O8hnBtQdap4zfLaqUV/GT0E2/DrA6Wtm8Zj8aumY1w0Le102Xrr LTQMQEnncLj67hQHMSLaPXNaYJ5uTofwZM5wi8kfs3iib5Hdf8cIopsN3+qNkzw1wI69 lME6lxYRbl48BgwPSdu4KMHpKAjkpK4fkBstODd6oMqWSI/NeilcMt9+I7/mwy2j3xKM 52Eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=KrwvjCyi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d9-20020a170902cec900b001ae3214162dsi9388117plg.548.2023.06.07.09.00.26; Wed, 07 Jun 2023 09:00:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=KrwvjCyi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241277AbjFGPSD (ORCPT + 99 others); Wed, 7 Jun 2023 11:18:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241076AbjFGPR4 (ORCPT ); Wed, 7 Jun 2023 11:17:56 -0400 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B452F1BF8; Wed, 7 Jun 2023 08:17:54 -0700 (PDT) Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2b1fe3a1a73so10759851fa.1; Wed, 07 Jun 2023 08:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686151073; x=1688743073; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J8z7m82/KC/ogG5KfzFtCE/IZsx2I1+lo+fvkMs3lVI=; b=KrwvjCyiuKy8NElczUTdWM72YCTiuNzc2TfkZIhtCx9OpD58l6lBL7PfxF0+3gUyn5 EAimbPNqcKNRR9Ap/k9H1sPF3+vdNwcdaySGuch3nwmMkAXBhMy7JbQGIsL7+1jEQQDf wB/w286Yp0Am7V40DuFH1QFFRE2/B7CxS/2DQtKZLil7CKWULxUZNAxtVRRav5UNZgVs OlQ49nCEou+8ftugLgkCdfm09Pmg6J5bgYMJaprDysYEFhcD5sc7ToZjY1VO0u5FbKTh uE1q/yQZr86BRZuKLrSemZJ6dmv6zTnjQhymVYHWp+q3gsx1qZH38TWicV2pn277yYRT Jawg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686151073; x=1688743073; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J8z7m82/KC/ogG5KfzFtCE/IZsx2I1+lo+fvkMs3lVI=; b=Ic/HqWwn4h8iqYpP3NEMwZqDWj/OCOkFzw7DUu7r7v+DIh9RHWo7CCuOlFp7pT7cj8 cWlDZSudv4aFDHli6961sKPaYC5lyvsZsE9LIOtauc4SKdIFUkntuJwi50b7NU9llGMw DHWhVfIQimmU/C9zNdPeEzNegs0MSlYKcG4NXP3y7iWCyObICBNNYfNRFHaBOCbaeszO mxHfQHt5yZ8N7TFvddutWkMJO3vrBLIC0slTUe5gYnXXXVVmhL1DBT0n8kJYjfKEflu/ nAurTOvIN+d4AKmeahNuuYvaJOnusvnCg0NPJunsV3w1tc/SoAk4spUP3yRKY4BCDOVr pwRQ== X-Gm-Message-State: AC+VfDz9miv26FP8fhjORhZHtGEuGiAG2iB5ui3v8JMHXKkAqRPTTBq0 nybh1FmZIc+1zPvN3DWjekg/ANC463Ctkg== X-Received: by 2002:a2e:9c55:0:b0:2ac:78d5:fd60 with SMTP id t21-20020a2e9c55000000b002ac78d5fd60mr2388472ljj.9.1686151072769; Wed, 07 Jun 2023 08:17:52 -0700 (PDT) Received: from localhost.localdomain (95-31-191-227.broadband.corbina.ru. [95.31.191.227]) by smtp.googlemail.com with ESMTPSA id v5-20020a2e87c5000000b002ad9a1bfa8esm2302014ljj.1.2023.06.07.08.17.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 08:17:52 -0700 (PDT) From: Ivan Mikhaylov To: Samuel Mendoza-Jonas , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vijay Khemka Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, openbmc@lists.ozlabs.org, Ivan Mikhaylov , stable@vger.kernel.org, Paul Fertser Subject: [PATCH v3 2/2] net/ncsi: change from ndo_set_mac_address to dev_set_mac_address Date: Wed, 7 Jun 2023 18:17:42 +0300 Message-Id: <20230607151742.6699-3-fr0st61te@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230607151742.6699-1-fr0st61te@gmail.com> References: <20230607151742.6699-1-fr0st61te@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768060242302811744?= X-GMAIL-MSGID: =?utf-8?q?1768060242302811744?= Change ndo_set_mac_address to dev_set_mac_address because dev_set_mac_address provides a way to notify network layer about MAC change. In other case, services may not aware about MAC change and keep using old one which set from network adapter driver. As example, DHCP client from systemd do not update MAC address without notification from net subsystem which leads to the problem with acquiring the right address from DHCP server. Fixes: cb10c7c0dfd9e ("net/ncsi: Add NCSI Broadcom OEM command") Cc: stable@vger.kernel.org # v6.0+ 2f38e84 net/ncsi: make one oem_gma function for all mfr id Signed-off-by: Paul Fertser Signed-off-by: Ivan Mikhaylov Reviewed-by: Simon Horman --- net/ncsi/ncsi-rsp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c index 91c42253a711..069c2659074b 100644 --- a/net/ncsi/ncsi-rsp.c +++ b/net/ncsi/ncsi-rsp.c @@ -616,7 +616,6 @@ static int ncsi_rsp_handler_oem_gma(struct ncsi_request *nr, int mfr_id) { struct ncsi_dev_priv *ndp = nr->ndp; struct net_device *ndev = ndp->ndev.dev; - const struct net_device_ops *ops = ndev->netdev_ops; struct ncsi_rsp_oem_pkt *rsp; struct sockaddr saddr; u32 mac_addr_off = 0; @@ -643,7 +642,9 @@ static int ncsi_rsp_handler_oem_gma(struct ncsi_request *nr, int mfr_id) /* Set the flag for GMA command which should only be called once */ ndp->gma_flag = 1; - ret = ops->ndo_set_mac_address(ndev, &saddr); + rtnl_lock(); + ret = dev_set_mac_address(ndev, &saddr, NULL); + rtnl_unlock(); if (ret < 0) netdev_warn(ndev, "NCSI: 'Writing mac address to device failed\n");