Messages in this thread | | | Date | Sat, 8 Aug 2020 17:05:06 +0800 | From | kernel test robot <> | Subject | drivers/scsi/ufs/ufshcd.c:6495 ufshcd_host_reset_and_restore() error: double unlocked (orig line 6489) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 449dc8c97089a6e09fb2dac4d92b1b7ac0eb7c1e commit: 5cac1095cf289f7623f835a9212b9ec0ad3b85b3 scsi: ufs: Make ufshcd_wait_for_register() sleep instead of busy-waiting date: 3 months ago config: arm-randconfig-m031-20200808 (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
New smatch warnings: drivers/scsi/ufs/ufshcd.c:6495 ufshcd_host_reset_and_restore() error: double unlocked '*hba->host->host_lock' (orig line 6489)
Old smatch warnings: drivers/scsi/ufs/ufshcd.c:1430 ufshcd_suspend_clkscaling() error: double unlocked '*hba->host->host_lock' (orig line 1427) drivers/scsi/ufs/ufshcd.c:1704 ufshcd_gate_work() error: double unlocked '*hba->host->host_lock' (orig line 1667) drivers/scsi/ufs/ufshcd.c:2132 ufshcd_send_uic_cmd() error: double unlocked '*hba->host->host_lock' (orig line 2130) drivers/scsi/ufs/ufshcd.c:2132 ufshcd_send_uic_cmd() error: double unlocked '*hba->host->host_lock' (orig line 2130) drivers/scsi/ufs/ufshcd.c:2539 ufshcd_queuecommand() error: double unlocked '*hba->host->host_lock' (orig line 2501) drivers/scsi/ufs/ufshcd.c:2661 ufshcd_wait_for_dev_cmd() error: double unlocked '*hba->host->host_lock' (orig line 2655) drivers/scsi/ufs/ufshcd.c:2661 ufshcd_wait_for_dev_cmd() error: double unlocked '*hba->host->host_lock' (orig line 2655) drivers/scsi/ufs/ufshcd.c:3772 ufshcd_uic_pwr_ctrl() error: double unlocked '*hba->host->host_lock' (orig line 3736) drivers/scsi/ufs/ufshcd.c:3831 ufshcd_link_recovery() error: double unlocked '*hba->host->host_lock' (orig line 3820) drivers/scsi/ufs/ufshcd.c:5450 ufshcd_quirk_dl_nac_errors() error: double unlocked '*hba->host->host_lock' (orig line 5430) drivers/scsi/ufs/ufshcd.c:5468 ufshcd_quirk_dl_nac_errors() error: double unlocked '*hba->host->host_lock' (orig line 5450) drivers/scsi/ufs/ufshcd.c:5528 ufshcd_err_handler() error: double unlocked '*hba->host->host_lock' (orig line 5504) drivers/scsi/ufs/ufshcd.c:5531 ufshcd_err_handler() error: double unlocked '*hba->host->host_lock' (orig line 5528) drivers/scsi/ufs/ufshcd.c:5531 ufshcd_err_handler() error: double unlocked '*hba->host->host_lock' (orig line 5528) drivers/scsi/ufs/ufshcd.c:5570 ufshcd_err_handler() error: double unlocked '*hba->host->host_lock' (orig line 5504) drivers/scsi/ufs/ufshcd.c:5598 ufshcd_err_handler() error: double unlocked '*hba->host->host_lock' (orig line 5570) drivers/scsi/ufs/ufshcd.c:6587 ufshcd_eh_host_reset_handler() error: double unlocked '*hba->host->host_lock' (orig line 6574) drivers/scsi/ufs/ufshcd.c:7910 ufshcd_hba_exit() error: double unlocked '*hba->host->host_lock' (orig line 7907) drivers/scsi/ufs/ufshcd.c:8286 ufshcd_suspend() error: double unlocked '*hba->host->host_lock' (orig line 8193) drivers/scsi/ufs/ufshcd.c:8297 ufshcd_suspend() error: double unlocked '*hba->host->host_lock' (orig line 8193) drivers/scsi/ufs/ufshcd.c:8388 ufshcd_resume() error: double unlocked '*hba->host->host_lock' (orig line 8385)
vim +6495 drivers/scsi/ufs/ufshcd.c
7a3e97b0dc4bbac Santosh Yaraganavi 2012-02-29 6469 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6470 /** 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6471 * ufshcd_host_reset_and_restore - reset and restore host controller 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6472 * @hba: per-adapter instance 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6473 * 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6474 * Note that host controller reset may issue DME_RESET to 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6475 * local and remote (device) Uni-Pro stack and the attributes 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6476 * are reset to default state. 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6477 * 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6478 * Returns zero on success, non-zero on failure 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6479 */ 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6480 static int ufshcd_host_reset_and_restore(struct ufs_hba *hba) 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6481 { 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6482 int err; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6483 unsigned long flags; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6484 2df74b6985b51e7 Can Guo 2019-11-25 6485 /* 2df74b6985b51e7 Can Guo 2019-11-25 6486 * Stop the host controller and complete the requests 2df74b6985b51e7 Can Guo 2019-11-25 6487 * cleared by h/w 2df74b6985b51e7 Can Guo 2019-11-25 6488 */ 5cac1095cf289f7 Bart Van Assche 2020-05-07 @6489 ufshcd_hba_stop(hba); 5cac1095cf289f7 Bart Van Assche 2020-05-07 6490 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6491 spin_lock_irqsave(hba->host->host_lock, flags); 2df74b6985b51e7 Can Guo 2019-11-25 6492 hba->silence_err_logs = true; 2df74b6985b51e7 Can Guo 2019-11-25 6493 ufshcd_complete_requests(hba); 2df74b6985b51e7 Can Guo 2019-11-25 6494 hba->silence_err_logs = false; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 @6495 spin_unlock_irqrestore(hba->host->host_lock, flags); 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6496 a3cd5ec55f6c728 Subhash Jadavani 2017-02-03 6497 /* scale up clocks to max frequency before full reinitialization */ 394b949f2d919ce Subhash Jadavani 2020-03-26 6498 ufshcd_set_clk_freq(hba, true); a3cd5ec55f6c728 Subhash Jadavani 2017-02-03 6499 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6500 err = ufshcd_hba_enable(hba); 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6501 if (err) 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6502 goto out; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6503 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6504 /* Establish the link again and restore the device */ 1b9e21412f72d6f Bean Huo 2020-01-20 6505 err = ufshcd_probe_hba(hba, false); 1d337ec2f35e69a Sujit Reddy Thumma 2014-09-25 6506 1d337ec2f35e69a Sujit Reddy Thumma 2014-09-25 6507 if (!err && (hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL)) 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6508 err = -EIO; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6509 out: 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6510 if (err) 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6511 dev_err(hba->dev, "%s: Host init failed %d\n", __func__, err); 8808b4e9dcdc908 Stanley Chu 2019-07-10 6512 ufshcd_update_reg_hist(&hba->ufs_stats.host_reset, (u32)err); 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6513 return err; 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6514 } 3441da7ddbdedf9 Sujit Reddy Thumma 2014-05-26 6515
:::::: The code at line 6495 was first introduced by commit :::::: 3441da7ddbdedf91bfd5cc8609c571ffc24942dd scsi: ufs: Fix device and host reset methods
:::::: TO: Sujit Reddy Thumma <sthumma@codeaurora.org> :::::: CC: Christoph Hellwig <hch@lst.de>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |