Skip to content

Commit

Permalink
IB/hfi1: Handle initial value of 0 for CCTI setting
Browse files Browse the repository at this point in the history
When the driver is loaded it sets the default CCTI value to be 0. When the FM
starts and CCA is disabled the driver sets the max value to 65535 due the driver
subtracting 1 from 0 and the fact that the CCTI value is a u16.

Special case the subtraction to find the index for a 0 value.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
  • Loading branch information
Dennis Dalessandro authored and Doug Ledford committed Nov 13, 2017
1 parent b64581a commit 685894d
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/infiniband/hw/hfi1/mad.c
Original file line number Diff line number Diff line change
Expand Up @@ -3701,7 +3701,11 @@ static void apply_cc_state(struct hfi1_pportdata *ppd)

*new_cc_state = *old_cc_state;

new_cc_state->cct.ccti_limit = ppd->total_cct_entry - 1;
if (ppd->total_cct_entry)
new_cc_state->cct.ccti_limit = ppd->total_cct_entry - 1;
else
new_cc_state->cct.ccti_limit = 0;

memcpy(new_cc_state->cct.entries, ppd->ccti_entries,
ppd->total_cct_entry * sizeof(struct ib_cc_table_entry));

Expand Down

0 comments on commit 685894d

Please sign in to comment.