All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: [android-common:android14-5.15-2025-07 2/2] drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:2044:2-8: preceding lock on line 1983
Date: Wed, 14 Oct 2026 23:47:49 +0200	[thread overview]
Message-ID: <202610142346.N4lhdzz4-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: cros-kernel-buildreports@googlegroups.com

tree:   https://android.googlesource.com/kernel/common android14-5.15-2025-07
head:   46c96f2b3074c362a75032e50d95ec77b346008b
commit: 89788cd9824c28ffcdea40232c458233353d1896 [2/2] drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
:::::: branch date: 25 hours ago
:::::: commit date: 2 years, 4 months ago
config: x86_64-randconfig-2104-20261014 (https://download.01.org/0day-ci/archive/20261014/202610142346.N4lhdzz4-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 13bbb29ea2c939629201dc70ce350cf27ad3e8d4)

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>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202610142346.N4lhdzz4-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:2044:2-8: preceding lock on line 1983
   drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:2044:2-8: preceding lock on line 2019

vim +2044 drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c

fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1966  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1967  static void cdns_mhdp_atomic_enable(struct drm_bridge *bridge,
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1968  				    struct drm_bridge_state *bridge_state)
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1969  {
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1970  	struct cdns_mhdp_device *mhdp = bridge_to_mhdp(bridge);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1971  	struct drm_atomic_state *state = bridge_state->base.state;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1972  	struct cdns_mhdp_bridge_state *mhdp_state;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1973  	struct drm_crtc_state *crtc_state;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1974  	struct drm_connector *connector;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1975  	struct drm_connector_state *conn_state;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1976  	struct drm_bridge_state *new_state;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1977  	const struct drm_display_mode *mode;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1978  	u32 resp;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1979  	int ret;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1980  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1981  	dev_dbg(mhdp->dev, "bridge enable\n");
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1982  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18 @1983  	mutex_lock(&mhdp->link_mutex);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1984  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1985  	if (mhdp->plugged && !mhdp->link_up) {
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1986  		ret = cdns_mhdp_link_up(mhdp);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1987  		if (ret < 0)
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1988  			goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1989  	}
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1990  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1991  	if (mhdp->info && mhdp->info->ops && mhdp->info->ops->enable)
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1992  		mhdp->info->ops->enable(mhdp);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1993  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1994  	/* Enable VIF clock for stream 0 */
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1995  	ret = cdns_mhdp_reg_read(mhdp, CDNS_DPTX_CAR, &resp);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1996  	if (ret < 0) {
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1997  		dev_err(mhdp->dev, "Failed to read CDNS_DPTX_CAR %d\n", ret);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1998  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  1999  	}
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2000  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2001  	cdns_mhdp_reg_write(mhdp, CDNS_DPTX_CAR,
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2002  			    resp | CDNS_VIF_CLK_EN | CDNS_VIF_CLK_RSTN);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2003  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2004  	connector = drm_atomic_get_new_connector_for_encoder(state,
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2005  							     bridge->encoder);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2006  	if (WARN_ON(!connector))
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2007  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2008  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2009  	conn_state = drm_atomic_get_new_connector_state(state, connector);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2010  	if (WARN_ON(!conn_state))
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2011  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2012  
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2013  	if (mhdp->hdcp_supported &&
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2014  	    mhdp->hw_state == MHDP_HW_READY &&
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2015  	    conn_state->content_protection ==
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2016  	    DRM_MODE_CONTENT_PROTECTION_DESIRED) {
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2017  		mutex_unlock(&mhdp->link_mutex);
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2018  		cdns_mhdp_hdcp_enable(mhdp, conn_state->hdcp_content_type);
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2019  		mutex_lock(&mhdp->link_mutex);
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2020  	}
6a3608eae6d33a4 Parshuram Thombare 2021-04-10  2021  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2022  	crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2023  	if (WARN_ON(!crtc_state))
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2024  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2025  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2026  	mode = &crtc_state->adjusted_mode;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2027  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2028  	new_state = drm_atomic_get_new_bridge_state(state, bridge);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2029  	if (WARN_ON(!new_state))
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2030  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2031  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2032  	if (!cdns_mhdp_bandwidth_ok(mhdp, mode, mhdp->link.num_lanes,
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2033  				    mhdp->link.rate)) {
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2034  		ret = -EINVAL;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2035  		goto out;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2036  	}
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2037  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2038  	cdns_mhdp_sst_enable(mhdp, mode);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2039  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2040  	mhdp_state = to_cdns_mhdp_bridge_state(new_state);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2041  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2042  	mhdp_state->current_mode = drm_mode_duplicate(bridge->dev, mode);
89788cd9824c28f Aleksandr Mishin   2024-04-08  2043  	if (!mhdp_state->current_mode)
89788cd9824c28f Aleksandr Mishin   2024-04-08 @2044  		return;
89788cd9824c28f Aleksandr Mishin   2024-04-08  2045  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2046  	drm_mode_set_name(mhdp_state->current_mode);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2047  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2048  	dev_dbg(mhdp->dev, "%s: Enabling mode %s\n", __func__, mode->name);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2049  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2050  	mhdp->bridge_enabled = true;
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2051  
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2052  out:
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2053  	mutex_unlock(&mhdp->link_mutex);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2054  	if (ret < 0)
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2055  		schedule_work(&mhdp->modeset_retry_work);
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2056  }
fb43aa0acdfd600 Swapnil Jakhade    2020-09-18  2057  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-10-14 21:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202610142346.N4lhdzz4-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=julia.lawall@inria.fr \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.