diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2015-09-16 02:22:51 -0400 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-09-18 11:28:47 -0400 |
commit | 951842b0540d2ed49ae29ba968adc496baf46556 (patch) | |
tree | 62a4d17e2063cf9a221098072a489413aaf95050 | |
parent | 50b19729ced72cfa8bb1c44fed9203f395f13991 (diff) |
IB/hfi1: fix a locking bug
mutex_trylock() returns zero on failure, not EBUSY.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/staging/rdma/hfi1/chip.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/rdma/hfi1/chip.c b/drivers/staging/rdma/hfi1/chip.c index 654eafef1d30..aa58e597df06 100644 --- a/drivers/staging/rdma/hfi1/chip.c +++ b/drivers/staging/rdma/hfi1/chip.c | |||
@@ -2710,7 +2710,7 @@ int acquire_lcb_access(struct hfi1_devdata *dd, int sleep_ok) | |||
2710 | if (sleep_ok) { | 2710 | if (sleep_ok) { |
2711 | mutex_lock(&ppd->hls_lock); | 2711 | mutex_lock(&ppd->hls_lock); |
2712 | } else { | 2712 | } else { |
2713 | while (mutex_trylock(&ppd->hls_lock) == EBUSY) | 2713 | while (!mutex_trylock(&ppd->hls_lock)) |
2714 | udelay(1); | 2714 | udelay(1); |
2715 | } | 2715 | } |
2716 | 2716 | ||
@@ -2758,7 +2758,7 @@ int release_lcb_access(struct hfi1_devdata *dd, int sleep_ok) | |||
2758 | if (sleep_ok) { | 2758 | if (sleep_ok) { |
2759 | mutex_lock(&dd->pport->hls_lock); | 2759 | mutex_lock(&dd->pport->hls_lock); |
2760 | } else { | 2760 | } else { |
2761 | while (mutex_trylock(&dd->pport->hls_lock) == EBUSY) | 2761 | while (!mutex_trylock(&dd->pport->hls_lock)) |
2762 | udelay(1); | 2762 | udelay(1); |
2763 | } | 2763 | } |
2764 | 2764 | ||