ixgbe: fix ring assignment issues for SR-IOV and drop cases
[firefly-linux-kernel-4.4.55.git] / drivers / net / ixgbe / ixgbe_ethtool.c
index 596d7943024fa20a685a7c80fc1f0510f99ac7c0..074e9baf069a02e54c2830a1fce3f7874936ec39 100644 (file)
@@ -2677,6 +2677,8 @@ static int ixgbe_add_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
        /* program filters to filter memory */
        err = ixgbe_fdir_write_perfect_filter_82599(hw,
                                &input->filter, input->sw_idx,
+                               (input->action == IXGBE_FDIR_DROP_QUEUE) ?
+                               IXGBE_FDIR_DROP_QUEUE :
                                adapter->rx_ring[input->action]->reg_idx);
        if (err)
                goto err_out_w_lock;