diff options
| author | Bongsu Jeon <bongsu.jeon@samsung.com> | 2020-12-13 18:58:50 +0900 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-12-30 11:51:26 +0100 |
| commit | d864e7e8270a6cf3ae863d5e0928fc13e9205813 (patch) | |
| tree | 2e5ec8ec7446dc2ea31edccd86179180e823c943 /drivers/nfc | |
| parent | 7a3d6a5dfc78776e8872f78c32809dc9f9817320 (diff) | |
| download | linux-d864e7e8270a6cf3ae863d5e0928fc13e9205813.tar.gz linux-d864e7e8270a6cf3ae863d5e0928fc13e9205813.tar.bz2 linux-d864e7e8270a6cf3ae863d5e0928fc13e9205813.zip | |
nfc: s3fwrn5: Release the nfc firmware
[ 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>
Diffstat (limited to 'drivers/nfc')
| -rw-r--r-- | drivers/nfc/s3fwrn5/firmware.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/nfc/s3fwrn5/firmware.c b/drivers/nfc/s3fwrn5/firmware.c index be110d9cef02..310773a4ca66 100644 --- a/drivers/nfc/s3fwrn5/firmware.c +++ b/drivers/nfc/s3fwrn5/firmware.c @@ -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'; |
