cxl: Fix wrong comparison in cxl_adapter_context_get()
commitpull/10/headef6cb5f1a0
upstream. 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:70b565bbdb
("cxl: Prevent adapter reset if an active context exists") Cc: stable@vger.kernel.org # v4.9+ Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
1eb08e7b19
commit
241e62005c
|
@ -287,7 +287,7 @@ int cxl_adapter_context_get(struct cxl *adapter)
|
|||
int rc;
|
||||
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue