When we read an array of integers from device properties,
the temporary buffer is allocated.

However, in case of dwc3_set_incr_burst_type() it's not freed.
Free allocated buffer immediately after use.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
---
 drivers/usb/dwc3/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index a1b126f90261..f8d3d3525813 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -828,6 +828,7 @@ static void dwc3_set_incr_burst_type(struct dwc3 *dwc)
        ret = device_property_read_u32_array(dev,
                        "snps,incr-burst-type-adjustment", vals, ntype);
        if (ret) {
+               kfree(vals);
                dev_err(dev, "Error to get property\n");
                return;
        }
@@ -846,6 +847,8 @@ static void dwc3_set_incr_burst_type(struct dwc3 *dwc)
                incrx_mode = INCRX_BURST_MODE;
        }
 
+       kfree(vals);
+
        /* Enable Undefined Length INCR Burst and Enable INCRx Burst */
        cfg &= ~DWC3_GSBUSCFG0_INCRBRST_MASK;
        if (incrx_mode)
-- 
2.20.1

Reply via email to