Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18f20bc5 authored by Dan Carpenter's avatar Dan Carpenter Committed by Oleksandr Andrushchenko
Browse files

drm/xen-front: fix xen_drm_front_shbuf_alloc() error handling



The xen_drm_front_shbuf_alloc() function was returning a mix of error
pointers and NULL and the the caller wasn't checking correctly.  I've
changed it to always return error pointer consistently.

Fixes: c575b7ee ("drm/xen-front: Add support for Xen PV display frontend")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180508092739.GB661@mwanda
parent e30ca4bc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -188,8 +188,8 @@ int xen_drm_front_dbuf_create(struct xen_drm_front_info *front_info,
	buf_cfg.be_alloc = front_info->cfg.be_alloc;

	shbuf = xen_drm_front_shbuf_alloc(&buf_cfg);
	if (!shbuf)
		return -ENOMEM;
	if (IS_ERR(shbuf))
		return PTR_ERR(shbuf);

	ret = dbuf_add_to_list(front_info, shbuf, dbuf_cookie);
	if (ret < 0) {
+1 −1
Original line number Diff line number Diff line
@@ -383,7 +383,7 @@ xen_drm_front_shbuf_alloc(struct xen_drm_front_shbuf_cfg *cfg)

	buf = kzalloc(sizeof(*buf), GFP_KERNEL);
	if (!buf)
		return NULL;
		return ERR_PTR(-ENOMEM);

	if (cfg->be_alloc)
		buf->ops = &backend_ops;