在 2019/8/20 0:42, Bart Van Assche 写道: > On 7/23/19 6:35 PM, oulijun wrote: >> 在 2019/7/23 11:25, oulijun 写道: >>> 在 2019/7/23 11:13, Bart Van Assche 写道: >>>> On 7/22/19 6:30 PM, oulijun wrote: >>>>> 在 2019/7/23 2:07, Bart Van Assche 写道: >>>>>> On 7/19/19 11:54 PM, oulijun wrote: >>>>>>> I am targeting a problem about RoCE and SCSI over RDMA from srpt in kernel-4.14. When insmod srpt.ko and insmod hns-roce-hw-v2.ko, it will >>>>>>> report a warning in srpt_add_one: >>>>>>> ib_srpt srpt_add_one(hns_0) failed. >>>>>> How about the following patch? >>>>>> >>>>>> diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c >>>>>> index 1a039f16d315..e2a4a14763b8 100644 >>>>>> --- a/drivers/infiniband/ulp/srpt/ib_srpt.c >>>>>> +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c >>>>>> @@ -3109,7 +3109,8 @@ static void srpt_add_one(struct ib_device *device) >>>>>> srpt_use_srq(sdev, sdev->port[0].port_attrib.use_srq); >>>>>> >>>>>> if (!srpt_service_guid) >>>>>> - srpt_service_guid = be64_to_cpu(device->node_guid); >>>>>> + srpt_service_guid = be64_to_cpu(device->node_guid) & >>>>>> + ~IB_SERVICE_ID_AGN_MASK; >>>>>> >>>>>> if (rdma_port_get_link_layer(device, 1) == IB_LINK_LAYER_INFINIBAND) >>>>>> sdev->cm_id = ib_create_cm_id(device, srpt_cm_handler, sdev); >>>>>> >>>>> No, I did not find this patch in the latest kernel-5.3 or others. >>>> What I meant is: can you try that patch? > > >> if we don't add the patch (IB/srpt: Add RDMA/CM support) and only merge your patch, it will not resolve our question. >> >> if we add the patch(IB/srpt: Add RDMA/CM support) and merge your patch, it will success. > > Did you apply my patch on top of kernel v4.14 or on top of a more recent kernel version? > > Thanks, > > Bart. > No > . >