]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
iavf: Fix set max MTU size with port VLAN and jumbo frames
[linux-stable] / drivers / net / ethernet / intel / iavf / iavf_virtchnl.c
index 1603e99bae4af3737fa1b3195c443e7aee9edfd9..498797a0a0a95cbc8f6523ae94862f1178a7ae26 100644 (file)
@@ -273,11 +273,14 @@ int iavf_get_vf_vlan_v2_caps(struct iavf_adapter *adapter)
 void iavf_configure_queues(struct iavf_adapter *adapter)
 {
        struct virtchnl_vsi_queue_config_info *vqci;
-       struct virtchnl_queue_pair_info *vqpi;
+       int i, max_frame = adapter->vf_res->max_mtu;
        int pairs = adapter->num_active_queues;
-       int i, max_frame = IAVF_MAX_RXBUFFER;
+       struct virtchnl_queue_pair_info *vqpi;
        size_t len;
 
+       if (max_frame > IAVF_MAX_RXBUFFER || !max_frame)
+               max_frame = IAVF_MAX_RXBUFFER;
+
        if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) {
                /* bail because we already have a command pending */
                dev_err(&adapter->pdev->dev, "Cannot configure queues, command %d pending\n",