[ofa-general] Re: [PATCH] IB/ipoib: Do not turn on carrier to a non active port
Moni Shoua
monis at Voltaire.COM
Mon Sep 21 02:28:16 PDT 2009
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.
More information about the general
mailing list