All of lore.kernel.org
 help / color / mirror / Atom feed
* [bvanassche:ufs-lrbp-as-priv-data 27/28] drivers/ufs/core/ufshcd.c:7594 ufshcd_advanced_rpmb_req_handler() warn: inconsistent returns '&hba->clk_scaling_lock'.
@ 2025-10-31  6:06 ` Dan Carpenter
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2025-10-31  5:40 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Bart Van Assche <bvanassche@acm.org>
CC: Avri Altman <avri.altman@sandisk.com>

tree:   https://github.com/bvanassche/linux ufs-lrbp-as-priv-data
head:   f5ce986a0b77ce2944bf8314554d60eec17968e8
commit: 226979e4eb8a5844be9fb6047a1d042bf2cd72ab [27/28] ufs: core: Move code out of ufshcd_wait_for_dev_cmd()
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: x86_64-randconfig-r071-20251031 (https://download.01.org/0day-ci/archive/20251031/202510311328.Is1wMfkq-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)

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: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202510311328.Is1wMfkq-lkp@intel.com/

New smatch warnings:
drivers/ufs/core/ufshcd.c:7594 ufshcd_advanced_rpmb_req_handler() warn: inconsistent returns '&hba->clk_scaling_lock'.
drivers/ufs/core/ufshcd.c:7594 ufshcd_advanced_rpmb_req_handler() warn: inconsistent returns '&hba->dev_cmd.lock'.

Old smatch warnings:
drivers/ufs/core/ufshcd.c:6883 ufshcd_err_handler() warn: inconsistent returns '&hba->host_sem'.
drivers/ufs/core/ufshcd.c:9464 ufshcd_setup_clocks() warn: 'clki->clk' from clk_prepare_enable() not released on lines: 9443.

vim +7594 drivers/ufs/core/ufshcd.c

5e0a86eed84607 drivers/scsi/ufs/ufshcd.c Avri Altman     2018-10-07  7513  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7514  /**
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7515   * ufshcd_advanced_rpmb_req_handler - handle advanced RPMB request
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7516   * @hba:	per adapter instance
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7517   * @req_upiu:	upiu request
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7518   * @rsp_upiu:	upiu reply
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7519   * @req_ehs:	EHS field which contains Advanced RPMB Request Message
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7520   * @rsp_ehs:	EHS field which returns Advanced RPMB Response Message
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7521   * @sg_cnt:	The number of sg lists actually used
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7522   * @sg_list:	Pointer to SG list when DATA IN/OUT UPIU is required in ARPMB operation
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7523   * @dir:	DMA direction
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7524   *
9ee35fd43f94bf drivers/ufs/core/ufshcd.c Bart Van Assche 2025-08-15  7525   * Return: 0 upon success; > 0 in case the UFS device reported an OCS error;
9ee35fd43f94bf drivers/ufs/core/ufshcd.c Bart Van Assche 2025-08-15  7526   * < 0 if another error occurred.
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7527   */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7528  int ufshcd_advanced_rpmb_req_handler(struct ufs_hba *hba, struct utp_upiu_req *req_upiu,
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7529  			 struct utp_upiu_req *rsp_upiu, struct ufs_ehs *req_ehs,
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7530  			 struct ufs_ehs *rsp_ehs, int sg_cnt, struct scatterlist *sg_list,
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7531  			 enum dma_data_direction dir)
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7532  {
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7533  	const u32 tag = hba->reserved_slot;
dd24291b765afb drivers/ufs/core/ufshcd.c Bart Van Assche 2023-03-06  7534  	struct scsi_cmnd *cmd = ufshcd_tag_to_cmd(hba, tag);
dd24291b765afb drivers/ufs/core/ufshcd.c Bart Van Assche 2023-03-06  7535  	struct ufshcd_lrb *lrbp = scsi_cmd_priv(cmd);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7536  	int err = 0;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7537  	int result;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7538  	u8 upiu_flags;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7539  	u8 *ehs_data;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7540  	u16 ehs_len;
996a24b99d63df drivers/ufs/core/ufshcd.c Avri Altman     2024-03-09  7541  	int ehs = (hba->capabilities & MASK_EHSLUTRD_SUPPORTED) ? 2 : 0;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7542  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7543  	/* Protects use of hba->reserved_slot. */
ddfd7f051f4e14 drivers/ufs/core/ufshcd.c Avri Altman     2024-03-09  7544  	ufshcd_dev_man_lock(hba);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7545  
dd24291b765afb drivers/ufs/core/ufshcd.c Bart Van Assche 2023-03-06  7546  	ufshcd_setup_dev_cmd(hba, cmd, DEV_CMD_TYPE_RPMB, UFS_UPIU_RPMB_WLUN,
dd24291b765afb drivers/ufs/core/ufshcd.c Bart Van Assche 2023-03-06  7547  			     tag);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7548  
a33a502d50fddc drivers/ufs/core/ufshcd.c Avri Altman     2024-04-10  7549  	ufshcd_prepare_req_desc_hdr(hba, lrbp, &upiu_flags, DMA_NONE, ehs);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7550  
9f6fec65661381 drivers/ufs/core/ufshcd.c Bean Huo        2023-08-09  7551  	/* update the task tag */
617bfaa8dd50d6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27  7552  	req_upiu->header.task_tag = tag;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7553  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7554  	/* copy the UPIU(contains CDB) request as it is */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7555  	memcpy(lrbp->ucd_req_ptr, req_upiu, sizeof(*lrbp->ucd_req_ptr));
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7556  	/* Copy EHS, starting with byte32, immediately after the CDB package */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7557  	memcpy(lrbp->ucd_req_ptr + 1, req_ehs, sizeof(*req_ehs));
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7558  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7559  	if (dir != DMA_NONE && sg_list)
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7560  		ufshcd_sgl_to_prdt(hba, lrbp, sg_cnt, sg_list);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7561  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7562  	memset(lrbp->ucd_rsp_ptr, 0, sizeof(struct utp_upiu_rsp));
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7563  
dd24291b765afb drivers/ufs/core/ufshcd.c Bart Van Assche 2023-03-06  7564  	err = ufshcd_issue_dev_cmd(hba, cmd, tag, ADVANCED_RPMB_REQ_TIMEOUT);
226979e4eb8a58 drivers/ufs/core/ufshcd.c Bart Van Assche 2025-09-09  7565  	if (err)
226979e4eb8a58 drivers/ufs/core/ufshcd.c Bart Van Assche 2025-09-09  7566  		return err;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7567  
226979e4eb8a58 drivers/ufs/core/ufshcd.c Bart Van Assche 2025-09-09  7568  	err = ufshcd_dev_cmd_completion(hba, lrbp);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7569  	if (!err) {
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7570  		/* Just copy the upiu response as it is */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7571  		memcpy(rsp_upiu, lrbp->ucd_rsp_ptr, sizeof(*rsp_upiu));
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7572  		/* Get the response UPIU result */
617bfaa8dd50d6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27  7573  		result = (lrbp->ucd_rsp_ptr->header.response << 8) |
617bfaa8dd50d6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27  7574  			lrbp->ucd_rsp_ptr->header.status;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7575  
617bfaa8dd50d6 drivers/ufs/core/ufshcd.c Bart Van Assche 2023-07-27  7576  		ehs_len = lrbp->ucd_rsp_ptr->header.ehs_length;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7577  		/*
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7578  		 * Since the bLength in EHS indicates the total size of the EHS Header and EHS Data
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7579  		 * in 32 Byte units, the value of the bLength Request/Response for Advanced RPMB
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7580  		 * Message is 02h
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7581  		 */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7582  		if (ehs_len == 2 && rsp_ehs) {
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7583  			/*
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7584  			 * ucd_rsp_ptr points to a buffer with a length of 512 bytes
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7585  			 * (ALIGNED_UPIU_SIZE = 512), and the EHS data just starts from byte32
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7586  			 */
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7587  			ehs_data = (u8 *)lrbp->ucd_rsp_ptr + EHS_OFFSET_IN_RESPONSE;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7588  			memcpy(rsp_ehs, ehs_data, ehs_len * 32);
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7589  		}
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7590  	}
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7591  
ddfd7f051f4e14 drivers/ufs/core/ufshcd.c Avri Altman     2024-03-09  7592  	ufshcd_dev_man_unlock(hba);
ddfd7f051f4e14 drivers/ufs/core/ufshcd.c Avri Altman     2024-03-09  7593  
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01 @7594  	return err ? : result;
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7595  }
6ff265fc5ef660 drivers/ufs/core/ufshcd.c Bean Huo        2022-12-01  7596  

:::::: The code at line 7594 was first introduced by commit
:::::: 6ff265fc5ef660499e0edc4641647e99eed3f519 scsi: ufs: core: bsg: Add advanced RPMB support in ufs_bsg

:::::: TO: Bean Huo <beanhuo@micron.com>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

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

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

end of thread, other threads:[~2025-11-01 17:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-31  5:40 [bvanassche:ufs-lrbp-as-priv-data 27/28] drivers/ufs/core/ufshcd.c:7594 ufshcd_advanced_rpmb_req_handler() warn: inconsistent returns '&hba->clk_scaling_lock' kernel test robot
2025-10-31  6:06 ` Dan Carpenter
2025-10-31 15:57 ` Bart Van Assche
2025-10-31 18:01   ` Dan Carpenter
2025-10-31 18:23     ` Bart Van Assche
2025-11-01 17:10       ` Dan Carpenter

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.