Revert "ice: Hide bus-info in ethtool for PRs in switchdev mode"
authorMarcin Szycik <marcin.szycik@linux.intel.com>
Mon, 28 Mar 2022 14:58:28 +0000 (16:58 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 6 May 2022 17:04:17 +0000 (10:04 -0700)
This reverts commit bfaaba99e680bf82bf2cbf69866c3f37434ff766.

Commit bfaaba99e680 ("ice: Hide bus-info in ethtool for PRs in switchdev
mode") was a workaround for lshw tool displaying incorrect
descriptions for port representors and PF in switchdev mode. Now the issue
has been fixed in the lshw tool itself [1].

Removing the workaround can be considered a regression, as the user might
be running older, unpatched lshw version. However, another important change
(ice: link representors to PCI device, which improves port representor
netdev naming with SET_NETDEV_DEV) also causes the same "regression" as
removing the workaround, i.e. unpatched lshw is able to access bus-info
information (this time not via ethtool) and the bug can occur. Therefore,
the workaround no longer prevents the bug and can be removed.

[1] https://ezix.org/src/pkg/lshw/commit/9bf4e4c9c1

Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ethtool.c

index 24cda7e..476bd1c 100644 (file)
@@ -190,19 +190,17 @@ __ice_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo,
        snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
                 "%x.%02x 0x%x %d.%d.%d", nvm->major, nvm->minor,
                 nvm->eetrack, orom->major, orom->build, orom->patch);
+
+       strscpy(drvinfo->bus_info, pci_name(pf->pdev),
+               sizeof(drvinfo->bus_info));
 }
 
 static void
 ice_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)
 {
        struct ice_netdev_priv *np = netdev_priv(netdev);
-       struct ice_pf *pf = np->vsi->back;
 
        __ice_get_drvinfo(netdev, drvinfo, np->vsi);
-
-       strscpy(drvinfo->bus_info, pci_name(pf->pdev),
-               sizeof(drvinfo->bus_info));
-
        drvinfo->n_priv_flags = ICE_PRIV_FLAG_ARRAY_SIZE;
 }