RDMA/irdma: Set VLAN in UD work completion correctly
Currently VLAN is reported in UD work completion when VLAN id is zero,
i.e. no VLAN case.
Report VLAN in UD work completion only when VLAN id is non-zero.
Fixes: b48c24c2d7
("RDMA/irdma: Implement device supported verb APIs")
Link: https://lore.kernel.org/r/20211019151654.1943-1-shiraz.saleem@intel.com
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
5508546631
commit
cc07b73ef1
@ -3399,9 +3399,13 @@ static void irdma_process_cqe(struct ib_wc *entry,
|
||||
}
|
||||
|
||||
if (cq_poll_info->ud_vlan_valid) {
|
||||
entry->vlan_id = cq_poll_info->ud_vlan & VLAN_VID_MASK;
|
||||
entry->wc_flags |= IB_WC_WITH_VLAN;
|
||||
u16 vlan = cq_poll_info->ud_vlan & VLAN_VID_MASK;
|
||||
|
||||
entry->sl = cq_poll_info->ud_vlan >> VLAN_PRIO_SHIFT;
|
||||
if (vlan) {
|
||||
entry->vlan_id = vlan;
|
||||
entry->wc_flags |= IB_WC_WITH_VLAN;
|
||||
}
|
||||
} else {
|
||||
entry->sl = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user