All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/scsi/ufs/ufshcd.c:4346:23: warning: Signed integer overflow for expression '(0xD041&0xFFFF)<<16'. [integerOverflow]
Date: Sat, 09 Apr 2022 16:35:45 +0800	[thread overview]
Message-ID: <202204091648.FPM6CPdm-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Bart Van Assche <bvanassche@google.com>
CC: "Martin K. Petersen" <martin.petersen@oracle.com>
CC: Jaegeuk Kim <jaegeuk@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f1b45d8ccb9839b48e5884664470e54520e17f4c
commit: edc0596cc04bf0ac3a69c66e994d3ff8b650ff71 scsi: ufs: core: Stop clearing UNIT ATTENTIONS
date:   6 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 6 months ago
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout edc0596cc04bf0ac3a69c66e994d3ff8b650ff71
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

   drivers/scsi/ufs/ufshcd.c:7721:5: warning: Variable 'gran_to_us_table' can be declared with const [constVariable]
    u8 gran_to_us_table[] = {1, 4, 8, 16, 32, 100};
       ^
   drivers/scsi/ufs/ufshcd.c:5378:67: warning: Parameter 'other_mask' can be declared with const [constParameter]
   int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask, u16 *other_mask,
                                                                     ^
>> drivers/scsi/ufs/ufshcd.c:4346:23: warning: Signed integer overflow for expression '(0xD041&0xFFFF)<<16'. [integerOverflow]
     ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalFC0ProtectionTimeOutVal),
                         ^
>> drivers/scsi/ufs/ufshcd.c:4348:23: warning: Signed integer overflow for expression '(0xD042&0xFFFF)<<16'. [integerOverflow]
     ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalTC0ReplayTimeOutVal),
                         ^
>> drivers/scsi/ufs/ufshcd.c:4350:23: warning: Signed integer overflow for expression '(0xD043&0xFFFF)<<16'. [integerOverflow]
     ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalAFC0ReqTimeOutVal),
                         ^
>> drivers/scsi/ufs/ufshcd.c:410:43: warning: Uninitialized variable: clki->min_freq [uninitvar]
     if (!IS_ERR_OR_NULL(clki->clk) && clki->min_freq &&
                                             ^
   drivers/scsi/ufs/ufshcd.c:406:16: note: Assuming condition is false
    if (list_empty(head))
                  ^
   drivers/scsi/ufs/ufshcd.c:410:43: note: Uninitialized variable: clki->min_freq
     if (!IS_ERR_OR_NULL(clki->clk) && clki->min_freq &&
                                             ^
   drivers/scsi/ufs/ufshcd.c:1049:26: warning: Uninitialized variable: clki->max_freq [uninitvar]
      if (scale_up && clki->max_freq) {
                            ^
   drivers/scsi/ufs/ufshcd.c:1044:16: note: Assuming condition is false
    if (list_empty(head))
                  ^
   drivers/scsi/ufs/ufshcd.c:1049:26: note: Uninitialized variable: clki->max_freq
      if (scale_up && clki->max_freq) {
                            ^

vim +4346 drivers/scsi/ufs/ufshcd.c

7eb584db73bebb Dolev Raviv   2014-09-25  4282  
7eb584db73bebb Dolev Raviv   2014-09-25  4283  static int ufshcd_change_power_mode(struct ufs_hba *hba,
7eb584db73bebb Dolev Raviv   2014-09-25  4284  			     struct ufs_pa_layer_attr *pwr_mode)
7eb584db73bebb Dolev Raviv   2014-09-25  4285  {
7eb584db73bebb Dolev Raviv   2014-09-25  4286  	int ret;
7eb584db73bebb Dolev Raviv   2014-09-25  4287  
7eb584db73bebb Dolev Raviv   2014-09-25  4288  	/* if already configured to the requested pwr_mode */
2355b66ed20ce4 Can Guo       2020-08-24  4289  	if (!hba->force_pmc &&
2355b66ed20ce4 Can Guo       2020-08-24  4290  	    pwr_mode->gear_rx == hba->pwr_info.gear_rx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4291  	    pwr_mode->gear_tx == hba->pwr_info.gear_tx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4292  	    pwr_mode->lane_rx == hba->pwr_info.lane_rx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4293  	    pwr_mode->lane_tx == hba->pwr_info.lane_tx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4294  	    pwr_mode->pwr_rx == hba->pwr_info.pwr_rx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4295  	    pwr_mode->pwr_tx == hba->pwr_info.pwr_tx &&
7eb584db73bebb Dolev Raviv   2014-09-25  4296  	    pwr_mode->hs_rate == hba->pwr_info.hs_rate) {
7eb584db73bebb Dolev Raviv   2014-09-25  4297  		dev_dbg(hba->dev, "%s: power already configured\n", __func__);
7eb584db73bebb Dolev Raviv   2014-09-25  4298  		return 0;
d3e89bac715534 Seungwon Jeon 2013-08-31  4299  	}
d3e89bac715534 Seungwon Jeon 2013-08-31  4300  
d3e89bac715534 Seungwon Jeon 2013-08-31  4301  	/*
d3e89bac715534 Seungwon Jeon 2013-08-31  4302  	 * Configure attributes for power mode change with below.
d3e89bac715534 Seungwon Jeon 2013-08-31  4303  	 * - PA_RXGEAR, PA_ACTIVERXDATALANES, PA_RXTERMINATION,
d3e89bac715534 Seungwon Jeon 2013-08-31  4304  	 * - PA_TXGEAR, PA_ACTIVETXDATALANES, PA_TXTERMINATION,
d3e89bac715534 Seungwon Jeon 2013-08-31  4305  	 * - PA_HSSERIES
d3e89bac715534 Seungwon Jeon 2013-08-31  4306  	 */
7eb584db73bebb Dolev Raviv   2014-09-25  4307  	ufshcd_dme_set(hba, UIC_ARG_MIB(PA_RXGEAR), pwr_mode->gear_rx);
7eb584db73bebb Dolev Raviv   2014-09-25  4308  	ufshcd_dme_set(hba, UIC_ARG_MIB(PA_ACTIVERXDATALANES),
7eb584db73bebb Dolev Raviv   2014-09-25  4309  			pwr_mode->lane_rx);
7eb584db73bebb Dolev Raviv   2014-09-25  4310  	if (pwr_mode->pwr_rx == FASTAUTO_MODE ||
7eb584db73bebb Dolev Raviv   2014-09-25  4311  			pwr_mode->pwr_rx == FAST_MODE)
d3e89bac715534 Seungwon Jeon 2013-08-31  4312  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_RXTERMINATION), TRUE);
7eb584db73bebb Dolev Raviv   2014-09-25  4313  	else
7eb584db73bebb Dolev Raviv   2014-09-25  4314  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_RXTERMINATION), FALSE);
d3e89bac715534 Seungwon Jeon 2013-08-31  4315  
7eb584db73bebb Dolev Raviv   2014-09-25  4316  	ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TXGEAR), pwr_mode->gear_tx);
7eb584db73bebb Dolev Raviv   2014-09-25  4317  	ufshcd_dme_set(hba, UIC_ARG_MIB(PA_ACTIVETXDATALANES),
7eb584db73bebb Dolev Raviv   2014-09-25  4318  			pwr_mode->lane_tx);
7eb584db73bebb Dolev Raviv   2014-09-25  4319  	if (pwr_mode->pwr_tx == FASTAUTO_MODE ||
7eb584db73bebb Dolev Raviv   2014-09-25  4320  			pwr_mode->pwr_tx == FAST_MODE)
d3e89bac715534 Seungwon Jeon 2013-08-31  4321  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TXTERMINATION), TRUE);
7eb584db73bebb Dolev Raviv   2014-09-25  4322  	else
7eb584db73bebb Dolev Raviv   2014-09-25  4323  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TXTERMINATION), FALSE);
d3e89bac715534 Seungwon Jeon 2013-08-31  4324  
7eb584db73bebb Dolev Raviv   2014-09-25  4325  	if (pwr_mode->pwr_rx == FASTAUTO_MODE ||
7eb584db73bebb Dolev Raviv   2014-09-25  4326  	    pwr_mode->pwr_tx == FASTAUTO_MODE ||
7eb584db73bebb Dolev Raviv   2014-09-25  4327  	    pwr_mode->pwr_rx == FAST_MODE ||
7eb584db73bebb Dolev Raviv   2014-09-25  4328  	    pwr_mode->pwr_tx == FAST_MODE)
7eb584db73bebb Dolev Raviv   2014-09-25  4329  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_HSSERIES),
7eb584db73bebb Dolev Raviv   2014-09-25  4330  						pwr_mode->hs_rate);
d3e89bac715534 Seungwon Jeon 2013-08-31  4331  
b1d0d2eb89d4e3 Kiwoong Kim   2020-12-21  4332  	if (!(hba->quirks & UFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING)) {
0834253734cbb4 Can Guo       2019-12-05  4333  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA0),
0834253734cbb4 Can Guo       2019-12-05  4334  				DL_FC0ProtectionTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4335  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA1),
0834253734cbb4 Can Guo       2019-12-05  4336  				DL_TC0ReplayTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4337  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA2),
0834253734cbb4 Can Guo       2019-12-05  4338  				DL_AFC0ReqTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4339  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA3),
0834253734cbb4 Can Guo       2019-12-05  4340  				DL_FC1ProtectionTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4341  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA4),
0834253734cbb4 Can Guo       2019-12-05  4342  				DL_TC1ReplayTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4343  		ufshcd_dme_set(hba, UIC_ARG_MIB(PA_PWRMODEUSERDATA5),
0834253734cbb4 Can Guo       2019-12-05  4344  				DL_AFC1ReqTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05  4345  
0834253734cbb4 Can Guo       2019-12-05 @4346  		ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalFC0ProtectionTimeOutVal),
0834253734cbb4 Can Guo       2019-12-05  4347  				DL_FC0ProtectionTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05 @4348  		ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalTC0ReplayTimeOutVal),
0834253734cbb4 Can Guo       2019-12-05  4349  				DL_TC0ReplayTimeOutVal_Default);
0834253734cbb4 Can Guo       2019-12-05 @4350  		ufshcd_dme_set(hba, UIC_ARG_MIB(DME_LocalAFC0ReqTimeOutVal),
0834253734cbb4 Can Guo       2019-12-05  4351  				DL_AFC0ReqTimeOutVal_Default);
b1d0d2eb89d4e3 Kiwoong Kim   2020-12-21  4352  	}
0834253734cbb4 Can Guo       2019-12-05  4353  
7eb584db73bebb Dolev Raviv   2014-09-25  4354  	ret = ufshcd_uic_change_pwr_mode(hba, pwr_mode->pwr_rx << 4
7eb584db73bebb Dolev Raviv   2014-09-25  4355  			| pwr_mode->pwr_tx);
7eb584db73bebb Dolev Raviv   2014-09-25  4356  
7eb584db73bebb Dolev Raviv   2014-09-25  4357  	if (ret) {
d3e89bac715534 Seungwon Jeon 2013-08-31  4358  		dev_err(hba->dev,
7eb584db73bebb Dolev Raviv   2014-09-25  4359  			"%s: power mode change failed %d\n", __func__, ret);
7eb584db73bebb Dolev Raviv   2014-09-25  4360  	} else {
0263bcd0e83196 Yaniv Gardi   2015-10-28  4361  		ufshcd_vops_pwr_change_notify(hba, POST_CHANGE, NULL,
0263bcd0e83196 Yaniv Gardi   2015-10-28  4362  								pwr_mode);
7eb584db73bebb Dolev Raviv   2014-09-25  4363  
7eb584db73bebb Dolev Raviv   2014-09-25  4364  		memcpy(&hba->pwr_info, pwr_mode,
7eb584db73bebb Dolev Raviv   2014-09-25  4365  			sizeof(struct ufs_pa_layer_attr));
7eb584db73bebb Dolev Raviv   2014-09-25  4366  	}
7eb584db73bebb Dolev Raviv   2014-09-25  4367  
7eb584db73bebb Dolev Raviv   2014-09-25  4368  	return ret;
7eb584db73bebb Dolev Raviv   2014-09-25  4369  }
7eb584db73bebb Dolev Raviv   2014-09-25  4370  

:::::: The code at line 4346 was first introduced by commit
:::::: 0834253734cbb40c312c06e5beb9b94ac7cf5e80 scsi: ufs: Do not clear the DL layer timers

:::::: TO: Can Guo <cang@codeaurora.org>
:::::: CC: Martin K. Petersen <martin.petersen@oracle.com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

                 reply	other threads:[~2022-04-09  8:35 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=202204091648.FPM6CPdm-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /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.