[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