diff mbox series

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

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

Commit Message

Boris Brezillon July 24, 2018, 1:33 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 initialize those variables to NULL to make gcc happy.

Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update")
Cc: <stable@vger.kernel.org>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
---
Changes in v2:
- Cc stable
- Add Sean's R-b
- Fix a typo in the commit message
---
 drivers/gpu/drm/drm_atomic_helper.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Boris Brezillon July 25, 2018, 7:18 p.m. UTC | #1
On Tue, 24 Jul 2018 15:33:00 +0200
Boris Brezillon <boris.brezillon@bootlin.com> 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 initialize those variables to NULL to make gcc happy.
> 
> Fixes: fef9df8b5945 ("drm/atomic: initial support for asynchronous plane update")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
> Reviewed-by: Sean Paul <seanpaul@chromium.org>

Applied to drm-misc-fixes.

> ---
> Changes in v2:
> - Cc stable
> - Add Sean's R-b
> - Fix a typo in the commit message
> ---
>  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;
>
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;