IB/hfi1: fix pstateinfo from returning improperly byteswapped value
Byteswap link_width_downgrade_*_active values before sending on the wire. In addition properly define the Port State Info structure. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Reviewed-by: Christian Gomez <christian.gomez@intel.com> Signed-off-by: Rimmer, Todd <todd.rimmer@intel.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Acked-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
@ -1717,9 +1717,9 @@ static int __subn_get_opa_psi(struct opa_smp *smp, u32 am, u8 *data,
|
|||||||
psi->port_states.portphysstate_portstate =
|
psi->port_states.portphysstate_portstate =
|
||||||
(hfi1_ibphys_portstate(ppd) << 4) | (lstate & 0xf);
|
(hfi1_ibphys_portstate(ppd) << 4) | (lstate & 0xf);
|
||||||
psi->link_width_downgrade_tx_active =
|
psi->link_width_downgrade_tx_active =
|
||||||
ppd->link_width_downgrade_tx_active;
|
cpu_to_be16(ppd->link_width_downgrade_tx_active);
|
||||||
psi->link_width_downgrade_rx_active =
|
psi->link_width_downgrade_rx_active =
|
||||||
ppd->link_width_downgrade_rx_active;
|
cpu_to_be16(ppd->link_width_downgrade_rx_active);
|
||||||
if (resp_len)
|
if (resp_len)
|
||||||
*resp_len += sizeof(struct opa_port_state_info);
|
*resp_len += sizeof(struct opa_port_state_info);
|
||||||
|
|
||||||
|
@ -294,8 +294,8 @@ struct opa_port_states {
|
|||||||
|
|
||||||
struct opa_port_state_info {
|
struct opa_port_state_info {
|
||||||
struct opa_port_states port_states;
|
struct opa_port_states port_states;
|
||||||
u16 link_width_downgrade_tx_active;
|
__be16 link_width_downgrade_tx_active;
|
||||||
u16 link_width_downgrade_rx_active;
|
__be16 link_width_downgrade_rx_active;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct opa_port_info {
|
struct opa_port_info {
|
||||||
|
Reference in New Issue
Block a user