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@xxxxxxxxx> --- drivers/staging/slicoss/slicoss.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index eb498b8..170e0df 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); -- 1.7.9.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel