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 <[email protected]>
---
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

Reply via email to