Commit ef6cb5f1 authored by Vaibhav Jain's avatar Vaibhav Jain Committed by Michael Ellerman

cxl: Fix wrong comparison in cxl_adapter_context_get()

Function atomic_inc_unless_negative() returns a bool to indicate
success/failure. However cxl_adapter_context_get() wrongly compares
the return value against '>=0' which will always be true. The patch
fixes this comparison to '==0' there by also fixing this compile time
warning:

	drivers/misc/cxl/main.c:290 cxl_adapter_context_get()
	warn: 'atomic_inc_unless_negative(&adapter->contexts_num)' is unsigned

Fixes: 70b565bb ("cxl: Prevent adapter reset if an active context exists")
Cc: stable@vger.kernel.org # v4.9+
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarVaibhav Jain <vaibhav@linux.ibm.com>
Acked-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: default avatarFrederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 99c3ce33
...@@ -282,7 +282,7 @@ int cxl_adapter_context_get(struct cxl *adapter) ...@@ -282,7 +282,7 @@ int cxl_adapter_context_get(struct cxl *adapter)
int rc; int rc;
rc = atomic_inc_unless_negative(&adapter->contexts_num); rc = atomic_inc_unless_negative(&adapter->contexts_num);
return rc >= 0 ? 0 : -EBUSY; return rc ? 0 : -EBUSY;
} }
void cxl_adapter_context_put(struct cxl *adapter) void cxl_adapter_context_put(struct cxl *adapter)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment