Hal Rosenstock wrote: > On Sun, May 31, 2009 at 10:44 AM, Eli Dorfman (Voltaire) > <[email protected]> wrote: >> Do not change logical state on SubnAdmSet > > The method is SubnSet r.t. SubnAdmSet. Subject might also indicate > ibportstate.c and it would be clearer saying logical port state r.t. > just logical state.
correct. my mistake. > > -- Hal > >> When changing physical state do not change logical port state. >> >From the IB spec When writing PortInfo:PortState, only legal transitions are >> valid. So if PortState is ACTIVE and we try to set it to ACTIVE this will >> fail. >> >> This patch allows reset in a single MAD. >> >> Signed-off-by: Eli Dorfman <[email protected]> >> --- >> infiniband-diags/src/ibportstate.c | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/infiniband-diags/src/ibportstate.c >> b/infiniband-diags/src/ibportstate.c >> index 65c9ca1..d19a2e5 100644 >> --- a/infiniband-diags/src/ibportstate.c >> +++ b/infiniband-diags/src/ibportstate.c >> @@ -275,8 +275,10 @@ int main(int argc, char **argv) >> >> /* Only if one of the "set" options is chosen */ >> if (port_op) { >> - if (port_op == 1) /* Enable port */ >> + if (port_op == 1) { /* Enable port */ >> mad_set_field(data, 0, IB_PORT_PHYS_STATE_F, 2); >> /* Polling */ >> + mad_set_field(data, 0, IB_PORT_STATE_F, 0); >> /* No Change */ >> + } >> else if ((port_op == 2) || (port_op == 3)) { /* Disable port >> */ >> mad_set_field(data, 0, IB_PORT_STATE_F, 1); >> /* Down */ >> mad_set_field(data, 0, IB_PORT_PHYS_STATE_F, 3); >> /* Disabled */ >> @@ -292,6 +294,7 @@ int main(int argc, char **argv) >> >> if (port_op == 3) { /* Reset port - so also enable */ >> mad_set_field(data, 0, IB_PORT_PHYS_STATE_F, 2); >> /* Polling */ >> + mad_set_field(data, 0, IB_PORT_STATE_F, 0); >> /* No Change */ >> err = set_port_info(&portid, data, portnum, port_op); >> if (err < 0) >> IBERROR("smp set portinfo failed"); >> -- >> 1.5.5 >> >> _______________________________________________ >> general mailing list >> [email protected] >> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general >> >> To unsubscribe, please visit >> http://openib.org/mailman/listinfo/openib-general >> _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
