diff options
| -rw-r--r-- | drivers/net/ethernet/emulex/benet/be.h | 1 | ||||
| -rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 12 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h index 2e031f24cd33..4ccaf9af6fc9 100644 --- a/drivers/net/ethernet/emulex/benet/be.h +++ b/drivers/net/ethernet/emulex/benet/be.h | |||
| @@ -104,6 +104,7 @@ static inline char *nic_name(struct pci_dev *pdev) | |||
| 104 | #define BE3_MAX_RSS_QS 16 | 104 | #define BE3_MAX_RSS_QS 16 |
| 105 | #define BE3_MAX_TX_QS 16 | 105 | #define BE3_MAX_TX_QS 16 |
| 106 | #define BE3_MAX_EVT_QS 16 | 106 | #define BE3_MAX_EVT_QS 16 |
| 107 | #define BE3_SRIOV_MAX_EVT_QS 8 | ||
| 107 | 108 | ||
| 108 | #define MAX_RX_QS 32 | 109 | #define MAX_RX_QS 32 |
| 109 | #define MAX_EVT_QS 32 | 110 | #define MAX_EVT_QS 32 |
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index fa44bba4f93b..bf40fdaecfa3 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
| @@ -3127,11 +3127,11 @@ static void BEx_get_resources(struct be_adapter *adapter, | |||
| 3127 | { | 3127 | { |
| 3128 | struct pci_dev *pdev = adapter->pdev; | 3128 | struct pci_dev *pdev = adapter->pdev; |
| 3129 | bool use_sriov = false; | 3129 | bool use_sriov = false; |
| 3130 | int max_vfs; | ||
| 3130 | 3131 | ||
| 3131 | if (BE3_chip(adapter) && sriov_want(adapter)) { | 3132 | max_vfs = pci_sriov_get_totalvfs(pdev); |
| 3132 | int max_vfs; | ||
| 3133 | 3133 | ||
| 3134 | max_vfs = pci_sriov_get_totalvfs(pdev); | 3134 | if (BE3_chip(adapter) && sriov_want(adapter)) { |
| 3135 | res->max_vfs = max_vfs > 0 ? min(MAX_VFS, max_vfs) : 0; | 3135 | res->max_vfs = max_vfs > 0 ? min(MAX_VFS, max_vfs) : 0; |
| 3136 | use_sriov = res->max_vfs; | 3136 | use_sriov = res->max_vfs; |
| 3137 | } | 3137 | } |
| @@ -3162,7 +3162,11 @@ static void BEx_get_resources(struct be_adapter *adapter, | |||
| 3162 | BE3_MAX_RSS_QS : BE2_MAX_RSS_QS; | 3162 | BE3_MAX_RSS_QS : BE2_MAX_RSS_QS; |
| 3163 | res->max_rx_qs = res->max_rss_qs + 1; | 3163 | res->max_rx_qs = res->max_rss_qs + 1; |
| 3164 | 3164 | ||
| 3165 | res->max_evt_qs = be_physfn(adapter) ? BE3_MAX_EVT_QS : 1; | 3165 | if (be_physfn(adapter)) |
| 3166 | res->max_evt_qs = (max_vfs > 0) ? | ||
| 3167 | BE3_SRIOV_MAX_EVT_QS : BE3_MAX_EVT_QS; | ||
| 3168 | else | ||
| 3169 | res->max_evt_qs = 1; | ||
| 3166 | 3170 | ||
| 3167 | res->if_cap_flags = BE_IF_CAP_FLAGS_WANT; | 3171 | res->if_cap_flags = BE_IF_CAP_FLAGS_WANT; |
| 3168 | if (!(adapter->function_caps & BE_FUNCTION_CAPS_RSS)) | 3172 | if (!(adapter->function_caps & BE_FUNCTION_CAPS_RSS)) |
