On Tue, Oct 13, 2009 at 3:20 PM, Hal Rosenstock
<[email protected]> wrote:
> On Tue, Oct 13, 2009 at 3:17 PM, Sasha Khapyorsky <[email protected]> wrote:
>> On 14:10 Tue 13 Oct     , Hal Rosenstock wrote:
>>>
>>> Per published MgtWG errata RefID 4576
>>>
>>> Signed-off-by: Hal Rosenstock <[email protected]>
>>> ---
>>> Changes since v2:
>>> Changed ib_port_info_set_client_rereg similarly to 
>>> ib_port_info_set_mcast_pkey_trap_suppress
>>>
>>> Changes since v1:
>>> Don't reset reserved bits packed with subnet timeout
>>>
>>> diff --git a/opensm/include/iba/ib_types.h b/opensm/include/iba/ib_types.h
>>> index aa566f7..79e5f53 100644
>>> --- a/opensm/include/iba/ib_types.h
>>> +++ b/opensm/include/iba/ib_types.h
>>> @@ -4431,7 +4431,7 @@ typedef struct _ib_port_info {
>>>       ib_net16_t p_key_violations;
>>>       ib_net16_t q_key_violations;
>>>       uint8_t guid_cap;
>>> -     uint8_t subnet_timeout; /* cli_rereg(1b), resrv(2b), timeout(5b) */
>>> +     uint8_t subnet_timeout; /* cli_rereg(1b), mcast_pkey_trap_suppr(1b), 
>>> resrv(1b), timeout(5b) */
>>>       uint8_t resp_time_value;
>>>       uint8_t error_threshold; /* local phy errors(4b), overrun errors(4b) 
>>> */
>>>       ib_net16_t max_credit_hint;
>>> @@ -5281,7 +5281,7 @@ ib_port_info_set_timeout(IN ib_port_info_t * const 
>>> p_pi,
>>>  {
>>>       CL_ASSERT(timeout <= 0x1F);
>>>       p_pi->subnet_timeout =
>>> -         (uint8_t) ((p_pi->subnet_timeout & 0x80) | (timeout & 0x1F));
>>> +         (uint8_t) ((p_pi->subnet_timeout & 0xE0) | (timeout & 0x1F));
>>>  }
>>>
>>>  /*
>>> @@ -5315,8 +5315,7 @@ ib_port_info_set_client_rereg(IN ib_port_info_t * 
>>> const p_pi,
>>>  {
>>>       CL_ASSERT(client_rereg <= 0x1);
>>>       p_pi->subnet_timeout =
>>> -         (uint8_t) ((p_pi->
>>> -                     subnet_timeout & 0x1F) | ((client_rereg << 7) & 
>>> 0x80));
>>> +         (uint8_t) ((p_pi->subnet_timeout & 0x9F) | (client_rereg << 7));
>>
>> I don't think that you wanted this - 0x9f will reset newly assigned bit.
>
> You're right...
>
>> Guess it should be:
>>
>> +           (uint8_t) (p_pi->subnet_timeout | (client_rereg << 7));
>
> Shouldn't this be:
> (uint8_t) ((p_pi->subnet_timeout & 0xBF) | (client_rereg << 7));

Doh! 0x7F rather than 0xBF

>
> -- Hal
>
>>
>> Reapplying...
>>
>> Sasha
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>> the body of a message to [email protected]
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to