If nva3_calc_pll() returns less than 0 in drivers/gpu/drm/nouveau/nva3_pm.c:nva3_pm_clock_pre() we'll return without freeing 'pll'. This patch should fix the leak. Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx> --- drivers/gpu/drm/nouveau/nva3_pm.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) Compile tested only - no hardware to test for real. diff --git a/drivers/gpu/drm/nouveau/nva3_pm.c b/drivers/gpu/drm/nouveau/nva3_pm.c index e4b2b9e..80443d2 100644 --- a/drivers/gpu/drm/nouveau/nva3_pm.c +++ b/drivers/gpu/drm/nouveau/nva3_pm.c @@ -137,8 +137,10 @@ nva3_pm_clock_pre(struct drm_device *dev, struct nouveau_pm_level *perflvl, if (!pll->new_div) { ret = nva3_calc_pll(dev, &limits, khz, &N, NULL, &M, &P); - if (ret < 0) + if (ret < 0) { + kfree(pll); return ERR_PTR(ret); + } pll->new_pnm = (P << 16) | (N << 8) | M; pll->new_div = 2 - 1; -- 1.7.6 -- Jesper Juhl <jj@xxxxxxxxxxxxx> http://www.chaosbits.net/ Don't top-post http://www.catb.org/jargon/html/T/top-post.html Plain text mails only, please. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel