In af9005_identify_state when returning -EIO the allocated buffer should be released. Replace the "return -EIO" with assignment into ret and move deb_info() under a check. Fixes: af4e067e1dcf ("V4L/DVB (5625): Add support for the AF9005 demodulator from Afatech") Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx> --- Changes in v2: -- Reused the error handling to release buf -- Added Fixes tag --- drivers/media/usb/dvb-usb/af9005.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/usb/dvb-usb/af9005.c b/drivers/media/usb/dvb-usb/af9005.c index 02697d86e8c1..bc6e7659c37b 100644 --- a/drivers/media/usb/dvb-usb/af9005.c +++ b/drivers/media/usb/dvb-usb/af9005.c @@ -975,9 +975,10 @@ static int af9005_identify_state(struct usb_device *udev, *cold = 1; else if (reply == 0x02) *cold = 0; - else - return -EIO; - deb_info("Identify state cold = %d\n", *cold); + else + ret = -EIO; + if (!ret) + deb_info("Identify state cold = %d\n", *cold); err: kfree(buf); -- 2.17.1