base: genlock: Remove genlock_release_lock and associated ioctl
Allowing a lock to be asynchronously released while a handle
was still active turned out to be too dangerous to use in a
multi-threaded environment and it served no pratical
purpose anyway. Handles now hold an attached lock until they
are destroyed.
CRs-fixed: 333141
Change-Id: Ic0dedbad8050ff01927ddb165c65a939bf297c10
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
diff --git a/drivers/base/genlock.c b/drivers/base/genlock.c
index 27717e0..1507915 100644
--- a/drivers/base/genlock.c
+++ b/drivers/base/genlock.c
@@ -496,12 +496,7 @@
return ret;
}
-/**
- * genlock_release_lock - Release a lock attached to a handle
- * @handle - Pointer to the handle holding the lock
- */
-
-void genlock_release_lock(struct genlock_handle *handle)
+static void genlock_release_lock(struct genlock_handle *handle)
{
unsigned long flags;
@@ -522,7 +517,6 @@
handle->lock = NULL;
handle->active = 0;
}
-EXPORT_SYMBOL(genlock_release_lock);
/*
* Release function called when all references to a handle are released
@@ -671,8 +665,13 @@
return genlock_wait(handle, param.timeout);
}
case GENLOCK_IOC_RELEASE: {
- genlock_release_lock(handle);
- return 0;
+ /*
+ * Return error - this ioctl has been deprecated.
+ * Locks should only be released when the handle is
+ * destroyed
+ */
+ GENLOCK_LOG_ERR("Deprecated RELEASE ioctl called\n");
+ return -EINVAL;
}
default:
GENLOCK_LOG_ERR("Invalid ioctl\n");