diff options
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index eaf08917f341..fc44bb331717 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -3209,9 +3209,13 @@ static void BEx_get_resources(struct be_adapter *adapter, | |||
3209 | 3209 | ||
3210 | res->max_mcast_mac = BE_MAX_MC; | 3210 | res->max_mcast_mac = BE_MAX_MC; |
3211 | 3211 | ||
3212 | /* For BE3 1Gb ports, F/W does not properly support multiple TXQs */ | 3212 | /* 1) For BE3 1Gb ports, FW does not support multiple TXQs |
3213 | if (BE2_chip(adapter) || use_sriov || be_is_mc(adapter) || | 3213 | * 2) Create multiple TX rings on a BE3-R multi-channel interface |
3214 | !be_physfn(adapter) || (adapter->port_num > 1)) | 3214 | * *only* if it is RSS-capable. |
3215 | */ | ||
3216 | if (BE2_chip(adapter) || use_sriov || (adapter->port_num > 1) || | ||
3217 | !be_physfn(adapter) || (be_is_mc(adapter) && | ||
3218 | !(adapter->function_caps & BE_FUNCTION_CAPS_RSS))) | ||
3215 | res->max_tx_qs = 1; | 3219 | res->max_tx_qs = 1; |
3216 | else | 3220 | else |
3217 | res->max_tx_qs = BE3_MAX_TX_QS; | 3221 | res->max_tx_qs = BE3_MAX_TX_QS; |