ice: Fix inability to set channels when down
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Sat, 16 May 2020 00:55:00 +0000 (17:55 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 31 May 2020 10:49:00 +0000 (03:49 -0700)
Currently the driver prevents a user from doing
modprobe ice
ethtool -L eth0 combined 5
ip link set eth0 up

The ethtool command fails, because the driver is checking to see if the
interface is down before allowing the get_channels to proceed (even for
a set_channels).

Remove this check and allow the user to configure the interface
before bringing it up, which is a much better usability case.

Fixes: 87324e747fde ("ice: Implement ethtool ops for channels")
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_ethtool.c

index fd18491..68c3800 100644 (file)
@@ -3189,10 +3189,6 @@ ice_get_channels(struct net_device *dev, struct ethtool_channels *ch)
        struct ice_vsi *vsi = np->vsi;
        struct ice_pf *pf = vsi->back;
 
-       /* check to see if VSI is active */
-       if (test_bit(__ICE_DOWN, vsi->state))
-               return;
-
        /* report maximum channels */
        ch->max_rx = ice_get_max_rxq(pf);
        ch->max_tx = ice_get_max_txq(pf);