diff options
Diffstat (limited to 'drivers/infiniband/hw/irdma/main.c')
| -rw-r--r-- | drivers/infiniband/hw/irdma/main.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/irdma/main.c b/drivers/infiniband/hw/irdma/main.c index 9fab29039f1c..179667b3e0b8 100644 --- a/drivers/infiniband/hw/irdma/main.c +++ b/drivers/infiniband/hw/irdma/main.c @@ -108,8 +108,9 @@ static void irdma_iidc_event_handler(struct ice_pf *pf, struct iidc_event *event  		l2params.tc_changed = true;  		ibdev_dbg(&iwdev->ibdev, "CLNT: TC Change\n");  		ice_get_qos_params(pf, &qos_info); -		iwdev->dcb = qos_info.num_tc > 1;  		irdma_fill_qos_info(&l2params, &qos_info); +		if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY) +			iwdev->dcb_vlan_mode = qos_info.num_tc > 1;  		irdma_change_l2params(&iwdev->vsi, &l2params);  	} else if (*event->type & BIT(IIDC_EVENT_CRIT_ERR)) {  		ibdev_warn(&iwdev->ibdev, "ICE OICR event notification: oicr = 0x%08x\n", @@ -283,6 +284,9 @@ static int irdma_probe(struct auxiliary_device *aux_dev, const struct auxiliary_  	l2params.mtu = iwdev->netdev->mtu;  	ice_get_qos_params(pf, &qos_info);  	irdma_fill_qos_info(&l2params, &qos_info); +	if (iwdev->rf->protocol_used != IRDMA_IWARP_PROTOCOL_ONLY) +		iwdev->dcb_vlan_mode = l2params.num_tc > 1; +  	if (irdma_rt_init_hw(iwdev, &l2params)) {  		err = -EIO;  		goto err_rt_init;  | 
