Hi Paul,
On Sat, 4 Jul 2015 00:01:33 -0400 Paul Gortmaker paul.gortmaker@windriver.com wrote:
Bisect:
6e9d331aec60a3dd1bbc035fbdd84a90364b8565 is the first bad commit commit 6e9d331aec60a3dd1bbc035fbdd84a90364b8565 Author: Jan Kara jack@suse.cz Date: Fri Jun 19 09:05:45 2015 +1000
drm/exynos: convert g2d_userptr_get_dma_addr() to use get_vaddr_frames()
Amazing! Four SOB lines and lots of CCs and noone bothered to build test it :-(
Fix seems posted here...
http://permalink.gmane.org/gmane.comp.video.dri.devel/131898
Original problematic commit comes in via the akpm tree.... paul@yow:~/git/linux-head$ git describe --contains 6e9d331aec60a3dd next-20150703~1^2~4
paul@yow:~/git/linux-head$ git rev-parse next-20150703~1 43fd9052f8cba2ae8e11c0a763ef5a5c512d187d
...which is:
43fd9052f8cb Merge branch 'akpm/master'
Thanks for that. I have applied that fix patch to my copy of the akpm tree in case Andrew does not get around to it by Monday. For completeness here is the patch (as applied to my tree) again:
From: Joonyoung Shim jy0922.shim@samsung.com Date: Thu, 2 Jul 2015 21:47:05 +0900 Subject: [PATCH] drm/exynos: fix compile error and warning of g2d MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Should be !g2d_userptr->vec, not !vec. This will fix below compile error.
drivers/gpu/drm/exynos/exynos_drm_g2d.c: In function ‘g2d_userptr_get_dma_addr’: drivers/gpu/drm/exynos/exynos_drm_g2d.c:465:7: error: ‘vec’ undeclared (first use in this function) if (!vec)
Also, if g2d_userptr->vec is NULL it should assign -ENOMEM in ret. It will fix below compile warning.
drivers/gpu/drm/exynos/exynos_drm_g2d.c: In function ‘exynos_g2d_set_cmdlist_ioctl’: drivers/gpu/drm/exynos/exynos_drm_g2d.c:415:6: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized] int ret; ^ Signed-off-by: Joonyoung Shim jy0922.shim@samsung.com Signed-off-by: Stephen Rothwell sfr@canb.auug.org.au --- drivers/gpu/drm/exynos/exynos_drm_g2d.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c index 810e1ee7c07d..7584834a53c9 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c +++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c @@ -462,8 +462,10 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev, end = PAGE_ALIGN(userptr + size); npages = (end - start) >> PAGE_SHIFT; g2d_userptr->vec = frame_vector_create(npages); - if (!vec) + if (!g2d_userptr->vec) { + ret = -ENOMEM; goto err_free; + }
ret = get_vaddr_frames(start, npages, true, true, g2d_userptr->vec); if (ret != npages) {