aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/slicoss
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2012-08-26 12:42:50 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-04 14:23:33 -0700
commit7ee34ab2b37a2a8191bb1b33eebd3ed8cfae0ce6 (patch)
treee36a80bcaee478ca0851b3456e9914cac3a7e96c /drivers/staging/slicoss
parent651d4bc7ed85356efa16465073f13a24f040369e (diff)
staging: slicoss: release firmware before returning
we request_firmware in slic_card_download_gbrcv and we return out with out calling release_firmware, where we compare against a firmware lengths of certain device ids. Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/slicoss')
-rw-r--r--drivers/staging/slicoss/slicoss.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c
index eb498b89491..170e0dfc41d 100644
--- a/drivers/staging/slicoss/slicoss.c
+++ b/drivers/staging/slicoss/slicoss.c
@@ -528,12 +528,16 @@ static int slic_card_download_gbrcv(struct adapter *adapter)
index += 4;
switch (adapter->devid) {
case SLIC_2GB_DEVICE_ID:
- if (rcvucodelen != OasisRcvUCodeLen)
+ if (rcvucodelen != OasisRcvUCodeLen) {
+ release_firmware(fw);
return -EINVAL;
+ }
break;
case SLIC_1GB_DEVICE_ID:
- if (rcvucodelen != GBRcvUCodeLen)
+ if (rcvucodelen != GBRcvUCodeLen) {
+ release_firmware(fw);
return -EINVAL;
+ }
break;
default:
ASSERT(0);