All of lore.kernel.org
 help / color / mirror / Atom feed
* [bbrezillon-0day:drm-bridge-busfmt-v4 8/11] drivers/gpu/drm/drm_bridge.c:196:5-11: ERROR: allocation function on line 189 returns NULL not ERR_PTR on failure
@ 2019-12-03 19:32 kbuild test robot
  2019-12-06  7:42 ` Boris Brezillon
  0 siblings, 1 reply; 2+ messages in thread
From: kbuild test robot @ 2019-12-03 19:32 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 3513 bytes --]

tree:   https://github.com/bbrezillon/linux-0day drm-bridge-busfmt-v4
head:   d7ec36aec4ff0b6741ff15cfb1d61f9078a797f7
commit: eef75946f72c81815a43d5f19eecda08a327146e [8/11] drm/bridge: Add a drm_bridge_state object

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>


coccinelle warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/drm_bridge.c:196:5-11: ERROR: allocation function on line 189 returns NULL not ERR_PTR on failure

vim +196 drivers/gpu/drm/drm_bridge.c

   134	
   135	/**
   136	 * drm_bridge_attach - attach the bridge to an encoder's chain
   137	 *
   138	 * @encoder: DRM encoder
   139	 * @bridge: bridge to attach
   140	 * @previous: previous bridge in the chain (optional)
   141	 *
   142	 * Called by a kms driver to link the bridge to an encoder's chain. The previous
   143	 * argument specifies the previous bridge in the chain. If NULL, the bridge is
   144	 * linked directly at the encoder's output. Otherwise it is linked at the
   145	 * previous bridge's output.
   146	 *
   147	 * If non-NULL the previous bridge must be already attached by a call to this
   148	 * function.
   149	 *
   150	 * Note that bridges attached to encoders are auto-detached during encoder
   151	 * cleanup in drm_encoder_cleanup(), so drm_bridge_attach() should generally
   152	 * *not* be balanced with a drm_bridge_detach() in driver code.
   153	 *
   154	 * RETURNS:
   155	 * Zero on success, error code on failure
   156	 */
   157	int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
   158			      struct drm_bridge *previous)
   159	{
   160		struct drm_bridge_state *state;
   161		int ret;
   162	
   163		if (!encoder || !bridge)
   164			return -EINVAL;
   165	
   166		if (previous && (!previous->dev || previous->encoder != encoder))
   167			return -EINVAL;
   168	
   169		if (bridge->dev)
   170			return -EBUSY;
   171	
   172		bridge->dev = encoder->dev;
   173		bridge->encoder = encoder;
   174	
   175		if (previous)
   176			list_add(&bridge->chain_node, &previous->chain_node);
   177		else
   178			list_add(&bridge->chain_node, &encoder->bridge_chain);
   179	
   180		if (bridge->funcs->attach) {
   181			ret = bridge->funcs->attach(bridge);
   182			if (ret < 0)
   183				goto err_reset_bridge;
   184		}
   185	
   186		if (bridge->funcs->atomic_reset) {
   187			state = bridge->funcs->atomic_reset(bridge);
   188		} else {
 > 189			state = kzalloc(sizeof(*state), GFP_KERNEL);
   190			if (state)
   191				__drm_atomic_helper_bridge_reset(bridge, state);
   192			else
   193				state = ERR_PTR(-ENOMEM);
   194		}
   195	
 > 196		if (IS_ERR(state)) {
   197			ret = PTR_ERR(state);
   198			goto err_detach_bridge;
   199		}
   200	
   201		drm_atomic_private_obj_init(bridge->dev, &bridge->base,
   202					    &state->base,
   203					    &drm_bridge_priv_state_funcs);
   204	
   205		return 0;
   206	
   207	err_detach_bridge:
   208		if (bridge->funcs->detach)
   209			bridge->funcs->detach(bridge);
   210	
   211	err_reset_bridge:
   212		bridge->dev = NULL;
   213		bridge->encoder = NULL;
   214		list_del(&bridge->chain_node);
   215		return ret;
   216	}
   217	EXPORT_SYMBOL(drm_bridge_attach);
   218	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-12-06  7:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-03 19:32 [bbrezillon-0day:drm-bridge-busfmt-v4 8/11] drivers/gpu/drm/drm_bridge.c:196:5-11: ERROR: allocation function on line 189 returns NULL not ERR_PTR on failure kbuild test robot
2019-12-06  7:42 ` Boris Brezillon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.