Staging: bcm: Fix semaphore locking bug in, IOCTL_BCM_BUFFER_DOWNLOAD
authorKevin McKinney <klmckinney1@gmail.com>
Wed, 23 Nov 2011 01:25:56 +0000 (20:25 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Nov 2011 01:14:48 +0000 (17:14 -0800)
In this ioctl, we are testing to see if the lock is held.
If it is not held, that means this ioctl used incorrectly.
Therefore, we do not want to take the lock ourselves here.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/bcm/Bcmchar.c

index 1bf28c9..5a3e7c8 100644 (file)
@@ -796,6 +796,7 @@ cntrlEnd:
                if (!down_trylock(&Adapter->fw_download_sema)) {
                        BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
                                        "Invalid way to download buffer. Use Start and then call this!!!\n");
+                       up(&Adapter->fw_download_sema);
                        Status = -EINVAL;
                        break;
                }