CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Bart Van Assche <[email protected]>
CC: "Martin K. Petersen" <[email protected]>
CC: Jaegeuk Kim <[email protected]>

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 <[email protected]>


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 <[email protected]>
:::::: CC: Martin K. Petersen <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to