IB/hfi1: Correct external device configuration shift
authorEaswar Hariharan <easwar.hariharan@intel.com>
Thu, 12 May 2016 17:22:45 +0000 (10:22 -0700)
committerDoug Ledford <dledford@redhat.com>
Fri, 13 May 2016 23:39:15 +0000 (19:39 -0400)
The external device configuration was incorrectly shifted to byte 3 of
the 32 bit DC_HOST_COMM_SETTINGS instead of byte 0. This patch corrects
the shift and provides the cable capability information in byte 0.

Reviewed-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/staging/rdma/hfi1/platform.c

index dfa413cfa351870be661e6cf1d05b94cac723813..ae0e4985cc7e94f898cebd7689457f9235c41125 100644 (file)
@@ -575,8 +575,8 @@ static void apply_tunings(
                ret = read_8051_config(ppd->dd, DC_HOST_COMM_SETTINGS,
                                       GENERAL_CONFIG, &config_data);
                /* Clear, then set the external device config field */
-               config_data &= ~(0xFF << 24);
-               config_data |= (external_device_config << 24);
+               config_data &= ~(u32)0xFF;
+               config_data |= external_device_config;
                ret = load_8051_config(ppd->dd, DC_HOST_COMM_SETTINGS,
                                       GENERAL_CONFIG, config_data);
                if (ret != HCMD_SUCCESS)