[ofa-general] Re: [PATCH] opensm: fix PortInfo update issues.

Sasha Khapyorsky sashak at voltaire.com
Mon Nov 12 14:17:35 PST 2007


On 13:40 Mon 12 Nov     , Hal Rosenstock wrote:
> On Mon, 2007-11-12 at 23:09 +0200, Sasha Khapyorsky wrote:
> > This fixes PortInfo update issues:
> > - handle switch's port 0 (esp0 in link_mgr) as end port
> > - remove check which is always FALSE (since *p_pi = *p_old_pi)
> > 
> > Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> > ---
> >  opensm/opensm/osm_lid_mgr.c  |   22 ++--------------------
> >  opensm/opensm/osm_link_mgr.c |   13 ++-----------
> >  2 files changed, 4 insertions(+), 31 deletions(-)
> > 
> > diff --git a/opensm/opensm/osm_lid_mgr.c b/opensm/opensm/osm_lid_mgr.c
> > index d25605f..076d0e9 100644
> > --- a/opensm/opensm/osm_lid_mgr.c
> > +++ b/opensm/opensm/osm_lid_mgr.c
> > @@ -959,15 +959,9 @@ __osm_lid_mgr_set_physp_pi(IN osm_lid_mgr_t * const p_mgr,
> >  	 */
> >  
> >  	memset(payload, 0, IB_SMP_DATA_SIZE);
> > -
> > -	/* Correction by FUJITSU */
> > -	if (port_num != 0)
> > -		memcpy(payload, p_old_pi, sizeof(ib_port_info_t));
> > +	memcpy(payload, p_old_pi, sizeof(ib_port_info_t));
> >  
> >  	/*
> > -	   Correction following a bug injected by the previous
> > -	   FUJITSU line:
> > -
> >  	   Should never write back a value that is bigger then 3 in
> >  	   the PortPhysicalState field, so cannot simply copy!
> >  
> > @@ -976,19 +970,7 @@ __osm_lid_mgr_set_physp_pi(IN osm_lid_mgr_t * const p_mgr,
> >  	   link down default state = polling
> >  	   port state - no change
> >  	 */
> > -	/* these values can be set only for ca ports, so if we are
> > -	   on a switch node, set these values to zero */
> > -	if (osm_node_get_type(p_node) == IB_NODE_TYPE_SWITCH)
> > -		p_pi->state_info2 = 0x0;
> > -	else {
> > -		p_pi->state_info2 = 0x02;
> > -		/* Check to see if the value we are setting is different than
> > -		   the value in the port_info. If it is, turn on send_set flag */
> > -		if (ib_port_info_get_link_down_def_state(p_pi) !=
> > -		    ib_port_info_get_link_down_def_state(p_old_pi))
> > -			send_set = TRUE;
> > -	}
> > -
> > +	p_pi->state_info2 = 0x02;
> 
> Isn't this a potential send_set change (as this could change LDDS) ?

Yes, I think you are right. I will change it in the patch and resubmit.

Sasha



More information about the general mailing list