diff mbox

[v2] drm/gma500: mdfld: Remove unncessary check

Message ID 1435147014-9485-1-git-send-email-maninder1.s@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Maninder Singh June 24, 2015, 11:56 a.m. UTC
sender is dereferrenced before NULL check
struct drm_device *dev = sender->dev;

and due to there is warning during static analysis:
warn: variable dereferenced before check 'sender'

__read_panel_data Function is called by mdfld_dsi_read_mcs
and there is a same check, Thus removing the check from
mdfld_dsi_read_mcs and initializing dev struct after NULL check
of sender.

Suggested-by: Patrick Jakobsson <patrick.r.jakobsson@gmail.com>
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Reviewed-by: Vaneet Narang <v.narang@samsung.com>
---
v1: removes check from __read_panel_data
v2: remove check from mdfld_dsi_read_mcs instead of __read_panel_data

 drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

Comments

Patrik Jakobsson June 24, 2015, 12:08 p.m. UTC | #1
On Wed, Jun 24, 2015 at 1:56 PM, Maninder Singh <maninder1.s@samsung.com> wrote:
> sender is dereferrenced before NULL check
> struct drm_device *dev = sender->dev;
>
> and due to there is warning during static analysis:
> warn: variable dereferenced before check 'sender'
>
> __read_panel_data Function is called by mdfld_dsi_read_mcs
> and there is a same check, Thus removing the check from
> mdfld_dsi_read_mcs and initializing dev struct after NULL check
> of sender.
>
> Suggested-by: Patrick Jakobsson <patrick.r.jakobsson@gmail.com>

The spelling of my name is slightly unorthodox :) should be
<patrik.r.jakobsson@gmail.com>

> Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
> Reviewed-by: Vaneet Narang <v.narang@samsung.com>
> ---
> v1: removes check from __read_panel_data
> v2: remove check from mdfld_dsi_read_mcs instead of __read_panel_data
>
>  drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c |    9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> index 6b43ae3..959aaeb 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
> @@ -520,7 +520,7 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>                         u8 *data, u16 len, u32 *data_out, u16 len_out, bool hs)
>  {
>         unsigned long flags;
> -       struct drm_device *dev = sender->dev;
> +       struct drm_device *dev;
>         int i;
>         u32 gen_data_reg;
>         int retry = MDFLD_DSI_READ_MAX_COUNT;
> @@ -530,6 +530,8 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>                 return -EINVAL;
>         }
>
> +       dev = sender->dev;
> +
>         /**
>          * do reading.
>          * 0) send out generic read request
> @@ -576,11 +578,6 @@ static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
>  int mdfld_dsi_read_mcs(struct mdfld_dsi_pkg_sender *sender, u8 cmd,
>                 u32 *data, u16 len, bool hs)
>  {
> -       if (!sender || !data || !len) {
> -               DRM_ERROR("Invalid parameters\n");
> -               return -EINVAL;
> -       }
> -
>         return __read_panel_data(sender, MIPI_DSI_DCS_READ, &cmd, 1,
>                                 data, len, hs);
>  }
> --
> 1.7.9.5
>

Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
diff mbox

Patch

diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
index 6b43ae3..959aaeb 100644
--- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
+++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c
@@ -520,7 +520,7 @@  static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
 			u8 *data, u16 len, u32 *data_out, u16 len_out, bool hs)
 {
 	unsigned long flags;
-	struct drm_device *dev = sender->dev;
+	struct drm_device *dev;
 	int i;
 	u32 gen_data_reg;
 	int retry = MDFLD_DSI_READ_MAX_COUNT;
@@ -530,6 +530,8 @@  static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
 		return -EINVAL;
 	}
 
+	dev = sender->dev;
+
 	/**
 	 * do reading.
 	 * 0) send out generic read request
@@ -576,11 +578,6 @@  static int __read_panel_data(struct mdfld_dsi_pkg_sender *sender, u8 data_type,
 int mdfld_dsi_read_mcs(struct mdfld_dsi_pkg_sender *sender, u8 cmd,
 		u32 *data, u16 len, bool hs)
 {
-	if (!sender || !data || !len) {
-		DRM_ERROR("Invalid parameters\n");
-		return -EINVAL;
-	}
-
 	return __read_panel_data(sender, MIPI_DSI_DCS_READ, &cmd, 1,
 				data, len, hs);
 }