aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index 8bf467b94d12..96876b7442b1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -371,14 +371,26 @@ static s32 ixgbe_set_vf_lpe(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
371 IXGBE_FCOE_JUMBO_FRAME_SIZE); 371 IXGBE_FCOE_JUMBO_FRAME_SIZE);
372 372
373#endif /* CONFIG_FCOE */ 373#endif /* CONFIG_FCOE */
374 /* 374 switch (adapter->vfinfo[vf].vf_api) {
375 * If the PF or VF are running w/ jumbo frames enabled we 375 case ixgbe_mbox_api_11:
376 * need to shut down the VF Rx path as we cannot support 376 /*
377 * jumbo frames on legacy VFs 377 * Version 1.1 supports jumbo frames on VFs if PF has
378 */ 378 * jumbo frames enabled which means legacy VFs are
379 if ((pf_max_frame > ETH_FRAME_LEN) || 379 * disabled
380 (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN))) 380 */
381 err = -EINVAL; 381 if (pf_max_frame > ETH_FRAME_LEN)
382 break;
383 default:
384 /*
385 * If the PF or VF are running w/ jumbo frames enabled
386 * we need to shut down the VF Rx path as we cannot
387 * support jumbo frames on legacy VFs
388 */
389 if ((pf_max_frame > ETH_FRAME_LEN) ||
390 (max_frame > (ETH_FRAME_LEN + ETH_FCS_LEN)))
391 err = -EINVAL;
392 break;
393 }
382 394
383 /* determine VF receive enable location */ 395 /* determine VF receive enable location */
384 vf_shift = vf % 32; 396 vf_shift = vf % 32;
@@ -740,6 +752,7 @@ static int ixgbe_negotiate_vf_api(struct ixgbe_adapter *adapter,
740 752
741 switch (api) { 753 switch (api) {
742 case ixgbe_mbox_api_10: 754 case ixgbe_mbox_api_10:
755 case ixgbe_mbox_api_11:
743 adapter->vfinfo[vf].vf_api = api; 756 adapter->vfinfo[vf].vf_api = api;
744 return 0; 757 return 0;
745 default: 758 default: