nfc: s3fwrn5: Release the nfc firmware
authorBongsu Jeon <bongsu.jeon@samsung.com>
Sun, 13 Dec 2020 09:58:50 +0000 (18:58 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:53 +0000 (11:53 +0100)
[ Upstream commit a4485baefa1efa596702ebffd5a9c760d42b14b5 ]

add the code to release the nfc firmware when the firmware image size is
wrong.

Fixes: c04c674fadeb ("nfc: s3fwrn5: Add driver for Samsung S3FWRN5 NFC Chip")
Signed-off-by: Bongsu Jeon <bongsu.jeon@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201213095850.28169-1-bongsu.jeon@samsung.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nfc/s3fwrn5/firmware.c

index ec930ee..64df508 100644 (file)
@@ -293,8 +293,10 @@ static int s3fwrn5_fw_request_firmware(struct s3fwrn5_fw_info *fw_info)
        if (ret < 0)
                return ret;
 
-       if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE)
+       if (fw->fw->size < S3FWRN5_FW_IMAGE_HEADER_SIZE) {
+               release_firmware(fw->fw);
                return -EINVAL;
+       }
 
        memcpy(fw->date, fw->fw->data + 0x00, 12);
        fw->date[12] = '\0';