]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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>
Tue, 29 Dec 2020 12:47:02 +0000 (13:47 +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 38548bd970cd2aa738a916ab198ee3456b0e9cfe..43c801e725b6f5b01bea64837d24119b54df31fa 100644 (file)
@@ -304,8 +304,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';