media: dvb-frontends: fix leak of memory fw
authorYan Lei <yan_lei@dahuatech.com>
Sun, 10 Apr 2022 06:19:25 +0000 (07:19 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jan 2023 11:07:33 +0000 (12:07 +0100)
[ Upstream commit a15fe8d9f1bf460a804bcf18a890bfd2cf0d5caa ]

Link: https://lore.kernel.org/linux-media/20220410061925.4107-1-chinayanlei2002@163.com
Signed-off-by: Yan Lei <yan_lei@dahuatech.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/dvb-frontends/bcm3510.c

index bb698839e477e23a07a04dbc15082cdd341d04f0..fc1dbdfb0cba30564a0c0f1b4663ce8c292cdc0e 100644 (file)
@@ -648,6 +648,7 @@ static int bcm3510_download_firmware(struct dvb_frontend* fe)
                deb_info("firmware chunk, addr: 0x%04x, len: 0x%04x, total length: 0x%04zx\n",addr,len,fw->size);
                if ((ret = bcm3510_write_ram(st,addr,&b[i+4],len)) < 0) {
                        err("firmware download failed: %d\n",ret);
+                       release_firmware(fw);
                        return ret;
                }
                i += 4 + len;