diff mbox

ch7006: correctly handling failed allocation

Message ID 1454025276-13465-1-git-send-email-wuninsu@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Insu Yun Jan. 28, 2016, 11:54 p.m. UTC
Since drm_property_create_range can be failed in memory pressure,
it needs to be checked and return -ENOMEM.

Signed-off-by: Insu Yun <wuninsu@gmail.com>
---
 drivers/gpu/drm/i2c/ch7006_drv.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Daniel Vetter Feb. 9, 2016, 9:22 a.m. UTC | #1
On Thu, Jan 28, 2016 at 06:54:36PM -0500, Insu Yun wrote:
> Since drm_property_create_range can be failed in memory pressure,
> it needs to be checked and return -ENOMEM.
> 
> Signed-off-by: Insu Yun <wuninsu@gmail.com>

Applied to drm-misc, thanks.
-Daniel

> ---
>  drivers/gpu/drm/i2c/ch7006_drv.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
> index 90db5f4..0594c45 100644
> --- a/drivers/gpu/drm/i2c/ch7006_drv.c
> +++ b/drivers/gpu/drm/i2c/ch7006_drv.c
> @@ -253,6 +253,8 @@ static int ch7006_encoder_create_resources(struct drm_encoder *encoder,
>  	drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
>  
>  	priv->scale_property = drm_property_create_range(dev, 0, "scale", 0, 2);
> +	if (!priv->scale_property)
> +		return -ENOMEM;
>  
>  	drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property,
>  				      priv->select_subconnector);
> -- 
> 1.9.1
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
index 90db5f4..0594c45 100644
--- a/drivers/gpu/drm/i2c/ch7006_drv.c
+++ b/drivers/gpu/drm/i2c/ch7006_drv.c
@@ -253,6 +253,8 @@  static int ch7006_encoder_create_resources(struct drm_encoder *encoder,
 	drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
 
 	priv->scale_property = drm_property_create_range(dev, 0, "scale", 0, 2);
+	if (!priv->scale_property)
+		return -ENOMEM;
 
 	drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property,
 				      priv->select_subconnector);