Re: crash in 4.14-rc1 with IPoIB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/20/2017 6:37 AM, Sagi Grimberg wrote:
>> Hi folks,
>>
>> I wanted to try out Christoph's NVMe multipathing patchset on my NVMe
>> OmniPath
>> setup and merged it into 4.14-rc1. On bootup I stumbled upon that
>> splat and no
>> RDMA operation was possible:
> 
> ...
> 
>> is_valid_mcast_lid.isra.23+0xfb/0x110
>>
>> (gdb) l *(is_valid_mcast_lid+0xfb)
>> 0x229b is in is_valid_mcast_lid (drivers/infiniband/core/verbs.c:1649).
>> 1644        /* If QP state >= init, it is assigned to a port and we
>> can check this
>> 1645         * port only.
>> 1646         */
>> 1647        if (!ib_query_qp(qp, &attr, IB_QP_STATE | IB_QP_PORT,
>> &init_attr)) {
>> 1648            if (attr.qp_state >= IB_QPS_INIT) {
>> 1649                if (qp->device->get_link_layer(qp->device,
>> attr.port_num) !=
>> 1650                    IB_LINK_LAYER_INFINIBAND)
>> 1651                    return true;
>> 1652                goto lid_check;
>> 1653            }
>> (gdb)
> 
> Why isn't ipoib uses the generic rdma_port_get_link_layer?
> 
> Does this help?
> -- 
> diff --git a/drivers/infiniband/core/verbs.c
> b/drivers/infiniband/core/verbs.c
> index ee9e27dc799b..f2c70afea238 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -1646,7 +1646,7 @@ static bool is_valid_mcast_lid(struct ib_qp *qp,
> u16 lid)
>          */
>         if (!ib_query_qp(qp, &attr, IB_QP_STATE | IB_QP_PORT,
> &init_attr)) {
>                 if (attr.qp_state >= IB_QPS_INIT) {
> -                       if (qp->device->get_link_layer(qp->device,
> attr.port_num) !=
> +                       if (rdma_port_get_link_layer(qp->device,
> attr.port_num) !=
>                             IB_LINK_LAYER_INFINIBAND)
>                                 return true;
>                         goto lid_check;

There's another occurrence of qp->device->get_link_layer in that routine
just below this. Shouldn't that be replaced by rdma_port_get_link_layer
too ?

-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux