[bug report] drm/tve200: Clean up panel bridging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Old code... ]

Hello Linus Walleij,

The patch 9ab12e88a0b4: "drm/tve200: Clean up panel bridging" from
Sep 11, 2017, leads to the following Smatch static checker warning:

	drivers/gpu/drm/tve200/tve200_drv.c:96 tve200_modeset_init()
	warn: missing error code here? '_dev_err()' failed. 'ret' = '0'

drivers/gpu/drm/tve200/tve200_drv.c
    62 static int tve200_modeset_init(struct drm_device *dev)
    63 {
    64         struct drm_mode_config *mode_config;
    65         struct tve200_drm_dev_private *priv = dev->dev_private;
    66         struct drm_panel *panel;
    67         struct drm_bridge *bridge;
    68         int ret = 0;
    69 
    70         drm_mode_config_init(dev);
    71         mode_config = &dev->mode_config;
    72         mode_config->funcs = &mode_config_funcs;
    73         mode_config->min_width = 352;
    74         mode_config->max_width = 720;
    75         mode_config->min_height = 240;
    76         mode_config->max_height = 576;
    77 
    78         ret = drm_of_find_panel_or_bridge(dev->dev->of_node,
    79                                           0, 0, &panel, &bridge);
    80         if (ret && ret != -ENODEV)
    81                 return ret;

There is a return check here.

    82         if (panel) {
    83                 bridge = drm_panel_bridge_add_typed(panel,
    84                                                     DRM_MODE_CONNECTOR_Unknown);
    85                 if (IS_ERR(bridge)) {
    86                         ret = PTR_ERR(bridge);
    87                         goto out_bridge;
    88                 }
    89         } else {
    90                 /*
    91                  * TODO: when we are using a different bridge than a panel
    92                  * (such as a dumb VGA connector) we need to devise a different
    93                  * method to get the connector out of the bridge.
    94                  */
    95                 dev_err(dev->dev, "the bridge is not a panel\n");
--> 96                 goto out_bridge;


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux