From: Bongsu Jeon <[email protected]>

[ 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 <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/nfc/s3fwrn5/firmware.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/nfc/s3fwrn5/firmware.c b/drivers/nfc/s3fwrn5/firmware.c
index b7828fb252f27..b7d5b12035c1a 100644
--- a/drivers/nfc/s3fwrn5/firmware.c
+++ b/drivers/nfc/s3fwrn5/firmware.c
@@ -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';
-- 
2.27.0



Reply via email to