]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/media/dvb/siano/smscoreapi.c
V4L/DVB (13963): siano, fix memory leak
[mv-sheeva.git] / drivers / media / dvb / siano / smscoreapi.c
index ca758bcb48c95ee00d8a23cd4e047f37e98d08f4..4bfd3451b5682ca5a49a9f6b8fdea2726f554d63 100644 (file)
@@ -1459,8 +1459,10 @@ int smscore_gpio_configure(struct smscore_device_t *coredev, u8 PinNum,
        if (!(coredev->device_flags & SMS_DEVICE_FAMILY2)) {
                pMsg->xMsgHeader.msgType = MSG_SMS_GPIO_CONFIG_REQ;
                if (GetGpioPinParams(PinNum, &TranslatedPinNum, &GroupNum,
-                               &groupCfg) != 0)
-                       return -EINVAL;
+                               &groupCfg) != 0) {
+                       rc = -EINVAL;
+                       goto free;
+               }
 
                pMsg->msgData[1] = TranslatedPinNum;
                pMsg->msgData[2] = GroupNum;
@@ -1490,6 +1492,7 @@ int smscore_gpio_configure(struct smscore_device_t *coredev, u8 PinNum,
                else
                        sms_err("smscore_gpio_configure error");
        }
+free:
        kfree(buffer);
 
        return rc;