mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-29 21:05:13 +00:00
ixgbe: set queue0 for srrctl configuration correctly for DCB
The current configuration is not setting queue 0 correctly for DCB configurations. As a result unconfigured queues are being used to setup the SRRCTL register rx buffer len sizes. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
afafd5b020
commit
163de42e24
@ -1740,7 +1740,18 @@ static void ixgbe_configure_srrctl(struct ixgbe_adapter *adapter, int index)
|
|||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
|
|
||||||
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
|
if (adapter->hw.mac.type == ixgbe_mac_82599EB) {
|
||||||
queue0 = index;
|
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
|
||||||
|
int dcb_i = adapter->ring_feature[RING_F_DCB].indices;
|
||||||
|
if (dcb_i == 8)
|
||||||
|
queue0 = index >> 4;
|
||||||
|
else if (dcb_i == 4)
|
||||||
|
queue0 = index >> 5;
|
||||||
|
else
|
||||||
|
dev_err(&adapter->pdev->dev, "Invalid DCB "
|
||||||
|
"configuration\n");
|
||||||
|
} else {
|
||||||
|
queue0 = index;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
mask = (unsigned long) adapter->ring_feature[RING_F_RSS].mask;
|
mask = (unsigned long) adapter->ring_feature[RING_F_RSS].mask;
|
||||||
queue0 = index & mask;
|
queue0 = index & mask;
|
||||||
|
Loading…
Reference in New Issue
Block a user