[openib-general][PATCH] mthca & ib_verbs.h client reregister event support by the SW
Michael S. Tsirkin
mst at mellanox.co.il
Mon Apr 10 00:42:55 PDT 2006
Quoting r. Leonid Arsh <leonida at voltaire.com>:
> Index: linux-kernel/infiniband/hw/mthca/mthca_mad.c
> ===================================================================
> --- linux-kernel/infiniband/hw/mthca/mthca_mad.c (revision 8509)
> +++ linux-kernel/infiniband/hw/mthca/mthca_mad.c (working copy)
> @@ -81,19 +81,27 @@
>
>
> ....
>
>
> event.device = ibdev;
> - event.event = IB_EVENT_LID_CHANGE;
> event.element.port_num = port_num;
> +
> + if(pinfo->clientrereg_resv_subnetto & 0x80)
> + event.event = IB_EVENT_CLIENT_REREGISTER;
> + else
> + event.event = IB_EVENT_LID_CHANGE;
> +
> ib_dispatch_event(&event);
> }
>
Hmm, might this break ipoib? It currently does:
void ipoib_event(struct ib_event_handler *handler,
struct ib_event *record)
{
struct ipoib_dev_priv *priv =
container_of(handler, struct ipoib_dev_priv, event_handler);
if (record->event == IB_EVENT_PORT_ERR ||
record->event == IB_EVENT_PKEY_CHANGE ||
record->event == IB_EVENT_PORT_ACTIVE ||
record->event == IB_EVENT_LID_CHANGE ||
record->event == IB_EVENT_SM_CHANGE) {
ipoib_dbg(priv, "Port state change event\n");
queue_work(ipoib_workqueue, &priv->flush_task);
}
}
Don't we need to add IB_EVENT_CLIENT_REREGISTER too?
--
MST
More information about the general
mailing list