Message ID | 20211019151654.1943-1-shiraz.saleem@intel.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | [rdma-rc,1/2] RDMA/irdma: Set VLAN in UD work completion correctly | expand |
On Tue, Oct 19, 2021 at 10:16:53AM -0500, Shiraz Saleem wrote: > From: Mustafa Ismail <mustafa.ismail@intel.com> > > 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: b48c24c2d710 ("RDMA/irdma: Implement device supported verb APIs") > Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com> > Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com> > --- > drivers/infiniband/hw/irdma/verbs.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) These two patches applied to for-rc, thanks Jason
diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c index 7110ebf..102dc93 100644 --- a/drivers/infiniband/hw/irdma/verbs.c +++ b/drivers/infiniband/hw/irdma/verbs.c @@ -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; }