summaryrefslogtreecommitdiffstats
path: root/drivers/staging/rdma/hfi1/chip.c
diff options
context:
space:
mode:
authorEaswar Hariharan2015-10-26 15:28:36 +0100
committerGreg Kroah-Hartman2015-10-27 09:19:22 +0100
commitfebffe2c2846305c4c810b2900e70753180f9cda (patch)
tree62b65d20d5e2bbe5c7a6dfc8204c57279353587b /drivers/staging/rdma/hfi1/chip.c
parentstaging/rdma/hfi1: Add a schedule in send thread (diff)
downloadkernel-qcow2-linux-febffe2c2846305c4c810b2900e70753180f9cda.tar.gz
kernel-qcow2-linux-febffe2c2846305c4c810b2900e70753180f9cda.tar.xz
kernel-qcow2-linux-febffe2c2846305c4c810b2900e70753180f9cda.zip
staging/rdma/hfi1: Fix port bounce issues with 0.22 DC firmware
The DC firmware overwrites the enable_lane_tx register and does not update it on a host request to go to Poll. This causes an infinite loop through the LNI state machine if a link width downgrade occurs. This patch re-sets the enable_lane_tx register to all 4 lanes. Reviewed-by: Dean Luick <dean.luick@intel.com> Signed-off-by: Easwar Hariharan <easwar.hariharan@intel.com> Signed-off-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rdma/hfi1/chip.c')
-rw-r--r--drivers/staging/rdma/hfi1/chip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/rdma/hfi1/chip.c b/drivers/staging/rdma/hfi1/chip.c
index 52a75a611148..e47420f4786b 100644
--- a/drivers/staging/rdma/hfi1/chip.c
+++ b/drivers/staging/rdma/hfi1/chip.c
@@ -5415,6 +5415,8 @@ static int set_local_link_attributes(struct hfi1_pportdata *ppd)
if (ppd->link_speed_enabled & OPA_LINK_SPEED_12_5G)
ppd->local_tx_rate |= 1;
}
+
+ enable_lane_tx = 0xF; /* enable all four lanes */
ret = write_tx_settings(dd, enable_lane_tx, tx_polarity_inversion,
rx_polarity_inversion, ppd->local_tx_rate);
if (ret != HCMD_SUCCESS)