Hal Rosenstock wrote:
> On Wed, Jun 3, 2009 at 3:28 AM, Eli Dorfman (Voltaire)
> <[email protected]> wrote:
>> 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.
> 
> Should an updated patch for this be reissued ?

No, the patch is correct. The error was in the commit message.

Eli

> 
> -- Hal
> 
>>> -- 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

Reply via email to