Эх сурвалжийг харах

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>
Dan Carpenter 10 жил өмнө
parent
commit
951842b054

+ 2 - 2
drivers/staging/rdma/hfi1/chip.c

@@ -2710,7 +2710,7 @@ int acquire_lcb_access(struct hfi1_devdata *dd, int sleep_ok)
 	if (sleep_ok) {
 	if (sleep_ok) {
 		mutex_lock(&ppd->hls_lock);
 		mutex_lock(&ppd->hls_lock);
 	} else {
 	} else {
-		while (mutex_trylock(&ppd->hls_lock) == EBUSY)
+		while (!mutex_trylock(&ppd->hls_lock))
 			udelay(1);
 			udelay(1);
 	}
 	}
 
 
@@ -2758,7 +2758,7 @@ int release_lcb_access(struct hfi1_devdata *dd, int sleep_ok)
 	if (sleep_ok) {
 	if (sleep_ok) {
 		mutex_lock(&dd->pport->hls_lock);
 		mutex_lock(&dd->pport->hls_lock);
 	} else {
 	} else {
-		while (mutex_trylock(&dd->pport->hls_lock) == EBUSY)
+		while (!mutex_trylock(&dd->pport->hls_lock))
 			udelay(1);
 			udelay(1);
 	}
 	}