diff mbox series

drm/atomic: Initialize variables in drm_atomic_helper_async_check() to make gcc happy

Message ID 20180723135902.26037-1-boris.brezillon@bootlin.com (mailing list archive)
State New, archived
Headers show
Series drm/atomic: Initialize variables in drm_atomic_helper_async_check() to make gcc happy | expand

Commit Message

Boris Brezillon July 23, 2018, 1:59 p.m. UTC
drm_atomic_helper_async_check() declares the plane, old_plane_state and
new_plane_state variables to iterate over all planes of the atomic
state and make sure only one plane is enabled.

Unfortunately gcc is not smart enough to figure out that the check on
n_planes is enough to guarantee that plane, new_plane_state and
old_plane_state are initialized.

Explicitly initialized those variables to NULL to make gcc happy.

Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update")
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
---
 drivers/gpu/drm/drm_atomic_helper.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Sean Paul July 23, 2018, 2:09 p.m. UTC | #1
On Mon, Jul 23, 2018 at 03:59:02PM +0200, Boris Brezillon wrote:
> drm_atomic_helper_async_check() declares the plane, old_plane_state and
> new_plane_state variables to iterate over all planes of the atomic
> state and make sure only one plane is enabled.
> 
> Unfortunately gcc is not smart enough to figure out that the check on
> n_planes is enough to guarantee that plane, new_plane_state and
> old_plane_state are initialized.
> 
> Explicitly initialized those variables to NULL to make gcc happy.

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> 
> Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update")
> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
> ---
>  drivers/gpu/drm/drm_atomic_helper.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index f7ccfebd3ca8..80be74df7ba6 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -1538,8 +1538,9 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
>  {
>  	struct drm_crtc *crtc;
>  	struct drm_crtc_state *crtc_state;
> -	struct drm_plane *plane;
> -	struct drm_plane_state *old_plane_state, *new_plane_state;
> +	struct drm_plane *plane = NULL;
> +	struct drm_plane_state *old_plane_state = NULL;
> +	struct drm_plane_state *new_plane_state = NULL;
>  	const struct drm_plane_helper_funcs *funcs;
>  	int i, n_planes = 0;
>  
> -- 
> 2.14.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Boris Brezillon July 23, 2018, 2:17 p.m. UTC | #2
On Mon, 23 Jul 2018 10:09:25 -0400
Sean Paul <seanpaul@chromium.org> wrote:

> On Mon, Jul 23, 2018 at 03:59:02PM +0200, Boris Brezillon wrote:
> > drm_atomic_helper_async_check() declares the plane, old_plane_state and
> > new_plane_state variables to iterate over all planes of the atomic
> > state and make sure only one plane is enabled.
> > 
> > Unfortunately gcc is not smart enough to figure out that the check on
> > n_planes is enough to guarantee that plane, new_plane_state and
> > old_plane_state are initialized.
> > 
> > Explicitly initialized those variables to NULL to make gcc happy.

	       ^ initialize

And I forgot to add

Cc: stable@vger.kernel.com

Will send a v2 soon.

> 
> Reviewed-by: Sean Paul <seanpaul@chromium.org>

Thanks for the review.

> 
> > 
> > Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update")
> > Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
> > ---
> >  drivers/gpu/drm/drm_atomic_helper.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> > index f7ccfebd3ca8..80be74df7ba6 100644
> > --- a/drivers/gpu/drm/drm_atomic_helper.c
> > +++ b/drivers/gpu/drm/drm_atomic_helper.c
> > @@ -1538,8 +1538,9 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
> >  {
> >  	struct drm_crtc *crtc;
> >  	struct drm_crtc_state *crtc_state;
> > -	struct drm_plane *plane;
> > -	struct drm_plane_state *old_plane_state, *new_plane_state;
> > +	struct drm_plane *plane = NULL;
> > +	struct drm_plane_state *old_plane_state = NULL;
> > +	struct drm_plane_state *new_plane_state = NULL;
> >  	const struct drm_plane_helper_funcs *funcs;
> >  	int i, n_planes = 0;
> >  
> > -- 
> > 2.14.1
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel  
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index f7ccfebd3ca8..80be74df7ba6 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1538,8 +1538,9 @@  int drm_atomic_helper_async_check(struct drm_device *dev,
 {
 	struct drm_crtc *crtc;
 	struct drm_crtc_state *crtc_state;
-	struct drm_plane *plane;
-	struct drm_plane_state *old_plane_state, *new_plane_state;
+	struct drm_plane *plane = NULL;
+	struct drm_plane_state *old_plane_state = NULL;
+	struct drm_plane_state *new_plane_state = NULL;
 	const struct drm_plane_helper_funcs *funcs;
 	int i, n_planes = 0;