ixgbe: dcb: use DCB config values for FCoE traffic class on open
Disabling and enabling DCB can cause FCoE hardware initialization to occur on the incorrect traffic class when the up2tc mapping has not yet been reconfigured. Fix this by using the DCB configuration maps that are correct and will be pushed at mqprio after DCB driver setup completes successfully. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Marcus Dennis <marcusx.e.dennis@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
d2f5e7f3af
commit
cdf485be3a
|
@ -4391,11 +4391,13 @@ static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
|
|||
* configuration later.
|
||||
*/
|
||||
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
|
||||
u8 prio_tc[MAX_USER_PRIORITY] = {0};
|
||||
int tc;
|
||||
struct ixgbe_ring_feature *f =
|
||||
&adapter->ring_feature[RING_F_FCOE];
|
||||
|
||||
tc = netdev_get_prio_tc_map(dev, adapter->fcoe.up);
|
||||
ixgbe_dcb_unpack_map(&adapter->dcb_cfg, DCB_TX_CONFIG, prio_tc);
|
||||
tc = prio_tc[adapter->fcoe.up];
|
||||
f->indices = dev->tc_to_txq[tc].count;
|
||||
f->mask = dev->tc_to_txq[tc].offset;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue