Roland Dreier wrote:
>  > +  if (ib_query_port(priv->ca, priv->port, &attr) ||
>  > +          attr.state != IB_PORT_ACTIVE) {
>  > +          ipoib_dbg(priv, "wait with carrier until IB port is active\n");
>  > +          if (test_bit(IPOIB_FLAG_OPER_UP, &priv->flags))
>  > +                  queue_delayed_work(ipoib_workqueue, 
> &priv->carrier_on_task, HZ);
>  > +          return;
>  > +  }
> 
> This queueing delayed work to poll the port state seems a bit odd to
> me... we get an event when the port changes state anyway, right?  So
> can't we just turn the carrier on when we get an active event?
> 
>  - R.
You're right. I've complicated things where I shouldn't need.
The call to __ipoib_ib_dev_flush() from ipoib_event() will requeue the 
carrier_on_task in join completion of
the broadcast group.

I'll resend

Thanks.

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

Reply via email to