Message ID | 20230924064159.14739-1-liuhaoran14@163.com |
---|---|
State | New |
Headers | show |
Series | drm/msm/mdp4: Add error handling in mdp4_lvds_connector_init() | expand |
Hi liuhaoran, kernel test robot noticed the following build warnings: [auto build test WARNING on drm-misc/drm-misc-next] [also build test WARNING on linus/master v6.6-rc2 next-20230921] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/liuhaoran/drm-msm-mdp4-Add-error-handling-in-mdp4_lvds_connector_init/20230924-144326 base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next patch link: https://lore.kernel.org/r/20230924064159.14739-1-liuhaoran14%40163.com patch subject: [PATCH] drm/msm/mdp4: Add error handling in mdp4_lvds_connector_init() config: arm-defconfig (https://download.01.org/0day-ci/archive/20230924/202309241619.RHCRkWza-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230924/202309241619.RHCRkWza-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309241619.RHCRkWza-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c: In function 'mdp4_lvds_connector_init': >> drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c:114:24: warning: returning 'int' from a function with return type 'struct drm_connector *' makes pointer from integer without a cast [-Wint-conversion] 114 | return ret; | ^~~ drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c:126:24: warning: returning 'int' from a function with return type 'struct drm_connector *' makes pointer from integer without a cast [-Wint-conversion] 126 | return ret; | ^~~ vim +114 drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c 92 93 /* initialize connector */ 94 struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, 95 struct device_node *panel_node, struct drm_encoder *encoder) 96 { 97 struct drm_connector *connector = NULL; 98 struct mdp4_lvds_connector *mdp4_lvds_connector; 99 int ret; 100 101 mdp4_lvds_connector = kzalloc(sizeof(*mdp4_lvds_connector), GFP_KERNEL); 102 if (!mdp4_lvds_connector) 103 return ERR_PTR(-ENOMEM); 104 105 mdp4_lvds_connector->encoder = encoder; 106 mdp4_lvds_connector->panel_node = panel_node; 107 108 connector = &mdp4_lvds_connector->base; 109 110 ret = drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, 111 DRM_MODE_CONNECTOR_LVDS); 112 113 if (ret) > 114 return ret;
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c index 7444b75c4215..62eb363ba90f 100644 --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c @@ -96,6 +96,7 @@ struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, { struct drm_connector *connector = NULL; struct mdp4_lvds_connector *mdp4_lvds_connector; + int ret; mdp4_lvds_connector = kzalloc(sizeof(*mdp4_lvds_connector), GFP_KERNEL); if (!mdp4_lvds_connector) @@ -106,8 +107,12 @@ struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, connector = &mdp4_lvds_connector->base; - drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, - DRM_MODE_CONNECTOR_LVDS); + ret = drm_connector_init(dev, connector, &mdp4_lvds_connector_funcs, + DRM_MODE_CONNECTOR_LVDS); + + if (ret) + return ret; + drm_connector_helper_add(connector, &mdp4_lvds_connector_helper_funcs); connector->polled = 0; @@ -115,7 +120,10 @@ struct drm_connector *mdp4_lvds_connector_init(struct drm_device *dev, connector->interlace_allowed = 0; connector->doublescan_allowed = 0; - drm_connector_attach_encoder(connector, encoder); + ret = drm_connector_attach_encoder(connector, encoder); + + if (ret) + return ret; return connector; }
This patch adds error-handling for the drm_connector_init() and drm_connector_attach_encoder inside the mdp4_lvds_connector_init(). Signed-off-by: liuhaoran <liuhaoran14@163.com> --- .../gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)