]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
IB/hfi1: Fix checks for Offline transient state
authorJakub Byczkowski <jakub.byczkowski@intel.com>
Thu, 4 May 2017 12:13:58 +0000 (05:13 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 4 May 2017 23:31:46 +0000 (19:31 -0400)
In goto_offline() function pstate is masked by 0xff when compared
to PLS_OFFLINE state. Mask should be 0xf0, since upper 4 bits
specify the "major" state.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: Jakub Byczkowski <jakub.byczkowski@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/chip.c

index 0f6916d2d5499cc8ba02202ecfd47afd14ab93a8..c96bb3a0c7889538cb9f69c5d9f4a84097c4d24a 100644 (file)
@@ -10233,7 +10233,7 @@ static int goto_offline(struct hfi1_pportdata *ppd, u8 rem_reason)
        if (pstate == PLS_OFFLINE) {
                do_transition = 0;      /* in right state */
                do_wait = 0;            /* ...no need to wait */
-       } else if ((pstate & 0xff) == PLS_OFFLINE) {
+       } else if ((pstate & 0xf0) == PLS_OFFLINE) {
                do_transition = 0;      /* in an offline transient state */
                do_wait = 1;            /* ...wait for it to settle */
        } else {