Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp975914ybt; Wed, 17 Jun 2020 19:39:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzD3UPJiGrkGSlgdFdly/REULY0Sd0WU6sAz/hTNG2XKeHUMY3SYy70n1/yWeSa8yWQ7cp1 X-Received: by 2002:a17:906:1386:: with SMTP id f6mr2037143ejc.66.1592447972711; Wed, 17 Jun 2020 19:39:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592447972; cv=none; d=google.com; s=arc-20160816; b=xqWuFaJJeN2fvr59t/bFnHhbCrA5CN8obZrDNI2ubhfaWgy5/SUWXRrDb11qtBjhcN BwLdoRJMJG4yEtqs9feSH+alSBXq1T+6EFaYZTJqPtgXGjc9BNat1ST2yfwc83dibDCE OTIP9pVnLfKMQWN/05JWwIQyFw345E+ktY0woRiGcOdyNpYuvayAW+qG3qvq8LMwO/DQ LethHvNJe1RGL4DAinZF5zAM4s9FPek+W7Md1Wgi5FfgvMZqCYGMx6mc8SDFvGEpX4WR OdzCf4OChUR97Hz2nMZChYpj9EIAN1YQbh64nIz/dk1rbpDdZ296IHk6XHarWw9XuRNo 0FdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LwC2H7fQ5KC2x9UTCwNEFB/g6qfL+Hxlt/7MMhr2Kvc=; b=ZlMAET8nW4isGzIfbfl17kh82GOMFOUS8Uc8/n5MokZKlHwNcebUP3AX6e02yIlIlh ps5PZAE+1DHbgIt4Mzl/potbRkLk7gEeT30M40or4YqhoBX7KAnDx+cGDb7/cVIu7m8F NMwsXCv+8attd3JqF6qRhwqhnNCxtx47FyijBgYG2zwdmv54dLW8z6gGD/PzA5TSc6l7 uiOFB3FovuRZKze5jqzAMolnV0Db8qQ3sbkNP6rkOTnwGt0hAHbwZrp+1e6EP6N0D9Z3 O5MPriPOOPVISDLyjNDWGKdwMKtZQE72487BVgSmqWJIS+aj/GGRD62NJmEB19L9cqk4 btgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="moa3x/zz"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id oq17si949579ejb.666.2020.06.17.19.39.10; Wed, 17 Jun 2020 19:39:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="moa3x/zz"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731212AbgFRCfk (ORCPT + 99 others); Wed, 17 Jun 2020 22:35:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:43802 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727914AbgFRBON (ORCPT ); Wed, 17 Jun 2020 21:14:13 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 95E3721974; Thu, 18 Jun 2020 01:14:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592442852; bh=nkZF8hnJwomHUsLmId6zjEEiKZoa/7yMkeMVYrIPgKk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=moa3x/zzukwMvNfGe0DtBBb0XY4M5xuDO6P2saqUQsSzhxgJOXfGN18SkQAqSNYaK dSIw6T8IOG3WAnOZSBZRSMjxf7/OiNdztLbKByeTNb2Ff61ufy6oxn3LDnBcEhR3qJ shy3hqHAgOLgnHBgng3FdNJRD5hsTeMHVq2hOJxY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jeffrey Hugo , Bean Huo , Avri Altman , "Martin K . Petersen" , Sasha Levin , linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 5.7 283/388] scsi: ufs-qcom: Fix scheduling while atomic issue Date: Wed, 17 Jun 2020 21:06:20 -0400 Message-Id: <20200618010805.600873-283-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200618010805.600873-1-sashal@kernel.org> References: <20200618010805.600873-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jeffrey Hugo [ Upstream commit 3be60b564de49875e47974c37fabced893cd0931 ] ufs_qcom_dump_dbg_regs() uses usleep_range, a sleeping function, but can be called from atomic context in the following flow: ufshcd_intr -> ufshcd_sl_intr -> ufshcd_check_errors -> ufshcd_print_host_regs -> ufshcd_vops_dbg_register_dump -> ufs_qcom_dump_dbg_regs This causes a boot crash on the Lenovo Miix 630 when the interrupt is handled on the idle thread. Fix the issue by switching to udelay(). Link: https://lore.kernel.org/r/20200525204125.46171-1-jeffrey.l.hugo@gmail.com Fixes: 9c46b8676271 ("scsi: ufs-qcom: dump additional testbus registers") Reviewed-by: Bean Huo Reviewed-by: Avri Altman Signed-off-by: Jeffrey Hugo Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/ufs/ufs-qcom.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/ufs/ufs-qcom.c b/drivers/scsi/ufs/ufs-qcom.c index 19aa5c44e0da..f938867301a0 100644 --- a/drivers/scsi/ufs/ufs-qcom.c +++ b/drivers/scsi/ufs/ufs-qcom.c @@ -1658,11 +1658,11 @@ static void ufs_qcom_dump_dbg_regs(struct ufs_hba *hba) /* sleep a bit intermittently as we are dumping too much data */ ufs_qcom_print_hw_debug_reg_all(hba, NULL, ufs_qcom_dump_regs_wrapper); - usleep_range(1000, 1100); + udelay(1000); ufs_qcom_testbus_read(hba); - usleep_range(1000, 1100); + udelay(1000); ufs_qcom_print_unipro_testbus(hba); - usleep_range(1000, 1100); + udelay(1000); } /** -- 2.25.1