diff mbox

[for-next] IB/cma: Fix gid type setting for RoCE

Message ID 1502442585-22391-1-git-send-email-selvin.xavier@broadcom.com (mailing list archive)
State Superseded
Headers show

Commit Message

Selvin Xavier Aug. 11, 2017, 9:09 a.m. UTC
RoCE gid_type should be 0 or 1 based on RoCE v1 or
RoCE V2. Since bit mask is used now, cma_dev->default_gid_type
is set to 2 (1 << IB_GID_TYPE_ROCE_UDP_ENCAP).
Use the bit mask to check the prefered gid_type and
assign the gid_type value to IB_GID_TYPE_ROCE(0) or
IB_GID_TYPE_ROCE_UDP_ENCAP(1).

Fixes: 3c7f67d1880d (IB/cma: Fix default RoCE type setting)
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/infiniband/core/cma.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Leon Romanovsky Aug. 11, 2017, 9:38 a.m. UTC | #1
On Fri, Aug 11, 2017 at 02:09:45AM -0700, Selvin Xavier wrote:
> RoCE gid_type should be 0 or 1 based on RoCE v1 or
> RoCE V2. Since bit mask is used now, cma_dev->default_gid_type
> is set to 2 (1 << IB_GID_TYPE_ROCE_UDP_ENCAP).
> Use the bit mask to check the prefered gid_type and
> assign the gid_type value to IB_GID_TYPE_ROCE(0) or
> IB_GID_TYPE_ROCE_UDP_ENCAP(1).
>
> Fixes: 3c7f67d1880d (IB/cma: Fix default RoCE type setting)
> Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
> ---
>  drivers/infiniband/core/cma.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>

Hi Selvin,

We tested a little bit simple version of this fix.
https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?h=rdma-next&id=bf01e3dda415538fcb799bebfe60053cf6154490

Thanks,
Selvin Xavier Aug. 11, 2017, 9:56 a.m. UTC | #2
On Fri, Aug 11, 2017 at 3:08 PM, Leon Romanovsky <leon@kernel.org> wrote:
>
>
> Hi Selvin,
>
> We tested a little bit simple version of this fix.
> https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?h=rdma-next&id=bf01e3dda415538fcb799bebfe60053cf6154490

Thanks Leon. Your patch looks good to me. Do you plan to post it  to
mailing list soon?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Leon Romanovsky Aug. 11, 2017, 10:18 a.m. UTC | #3
On Fri, Aug 11, 2017 at 03:26:42PM +0530, Selvin Xavier wrote:
> On Fri, Aug 11, 2017 at 3:08 PM, Leon Romanovsky <leon@kernel.org> wrote:
> >
> >
> > Hi Selvin,
> >
> > We tested a little bit simple version of this fix.
> > https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?h=rdma-next&id=bf01e3dda415538fcb799bebfe60053cf6154490
>
> Thanks Leon. Your patch looks good to me. Do you plan to post it  to
> mailing list soon?

Yes, today.
diff mbox

Patch

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index ca4135c..eb420da 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -72,7 +72,8 @@  MODULE_LICENSE("Dual BSD/GPL");
 #define CMA_MAX_CM_RETRIES 15
 #define CMA_CM_MRA_SETTING (IB_CM_MRA_FLAG_DELAY | 24)
 #define CMA_IBOE_PACKET_LIFETIME 18
-#define CMA_PREFERRED_ROCE_GID_TYPE (1 << IB_GID_TYPE_ROCE_UDP_ENCAP)
+#define CMA_PREFERRED_ROCE_GID_TYPE_MASK (1 << IB_GID_TYPE_ROCE_UDP_ENCAP)
+#define CMA_PREFERRED_ROCE_GID_TYPE __ffs(CMA_PREFERRED_ROCE_GID_TYPE_MASK)
 
 static const char * const cma_events[] = {
 	[RDMA_CM_EVENT_ADDR_RESOLVED]	 = "address resolved",
@@ -4282,7 +4283,7 @@  static void cma_add_one(struct ib_device *device)
 	for (i = rdma_start_port(device); i <= rdma_end_port(device); i++) {
 		supported_gids = roce_gid_type_mask_support(device, i);
 		WARN_ON(!supported_gids);
-		if (supported_gids & CMA_PREFERRED_ROCE_GID_TYPE)
+		if (supported_gids & CMA_PREFERRED_ROCE_GID_TYPE_MASK)
 			cma_dev->default_gid_type[i - rdma_start_port(device)] =
 				CMA_PREFERRED_ROCE_GID_TYPE;
 		else