RDMa/hns: Don't stuck in endless timeout loop
authorLeon Romanovsky <leonro@mellanox.com>
Sun, 16 Jun 2019 12:05:58 +0000 (15:05 +0300)
committerDoug Ledford <dledford@redhat.com>
Thu, 20 Jun 2019 19:39:43 +0000 (15:39 -0400)
commitda3929218a4481fc12f9eaa30c9edb09aad5ff24
treed530f5d7251dfd6776ad6755fdabff0567e4fc27
parent836a0fbb3e76f704ad65ddfb57f00725245e509b
RDMa/hns: Don't stuck in endless timeout loop

The "end" variable is declared as unsigned and can't be negative, it
leads to the situation where timeout limit is not honored, so let's
convert logic to ensure that loop is bounded.

drivers/infiniband/hw/hns/hns_roce_hw_v1.c: In function _hns_roce_v1_clear_hem_:
drivers/infiniband/hw/hns/hns_roce_hw_v1.c:2471:12: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
 2471 |    if (end < 0) {
      |            ^

Fixes: 669cefb654cb ("RDMA/hns: Remove jiffies operation in disable interrupt context")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hns/hns_roce_hem.h
drivers/infiniband/hw/hns/hns_roce_hw_v1.c