Received: by 10.223.185.116 with SMTP id b49csp5494159wrg; Tue, 27 Feb 2018 14:30:04 -0800 (PST) X-Google-Smtp-Source: AH8x227LJIaefBydrqGCrcpxh7VpaUikhxIZVsI8ceUBTxIiLyuGRDpCCCz+QvmmfZunT8HlXgN6 X-Received: by 2002:a17:902:c6b:: with SMTP id 98-v6mr15327270pls.267.1519770604068; Tue, 27 Feb 2018 14:30:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519770604; cv=none; d=google.com; s=arc-20160816; b=vESxsrJD8taDSUMNabjuLJpg21ldyGHXYQCLe0PGbuwYuYTQUBkhjrvhvbL7X42RTP tkJus5Y+NFiqvg+G7zCGti4ktfvpCYaqLMa2lMUjlMiYnb1HZ2vP+t3LhaPDjeLg77Jy tHf/i1K0o+PBnc9kV7juqXDVTIs8GzQtc4Oh3JNXjqCNJOlSzi6DODBNHNIJD6cke19o SRUQNonpNOrmkxY0zhST2k7DFZ3ETWKfMdUOSWcz8riTHzLeikg95DJfpNX5NvM7/Oeu hH7zVtlg5u8qTMWDkOtX7y/XF6J8FNMTlnKsY/6Z1TgWovcxMBq0Gzb7t+yq/1zHDppM KAPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=8RTPmOKXKR8bDgwVMpYmF3MK82+86mh+tP7ltulVWGM=; b=DgvwyH5l+Fa656Nra8x+WzyO9ftk/E9WBuL17IsEKsEjpluQP/gShFMXKtqynKGoea vqr/xGhFCr8/83AHLdlfG9Q1c9YToLRSwIhSlCgC9dcBH4chlvim6e3LRAZZ/eexYKMg bLyy9+iFmB1wf+5PO5BTto5o1gsOFnA5TbdLgT2zP3+xUdRz0q3GF6pyhzZOmrMFKfR8 J9/3YpGm1XG+Kqk6x+UqBeIqu80P548Oh2m/woyFncV51hp8Il6q8Sk+7hnq+0u8Wx6e 1jHdw3R8vNvjcEXzapzC2gfrsIS6vzBhYosu19SDWgzYEH6lkupUOGOqCW2A4zaVqUgu 1V2Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e3si138324pfe.252.2018.02.27.14.29.49; Tue, 27 Feb 2018 14:30:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752303AbeB0W2l (ORCPT + 99 others); Tue, 27 Feb 2018 17:28:41 -0500 Received: from nala.villavu.com ([188.165.243.101]:42275 "EHLO nala.villavu.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752283AbeB0W2j (ORCPT ); Tue, 27 Feb 2018 17:28:39 -0500 Received: from a82-161-36-93.adsl.xs4all.nl ([82.161.36.93] helo=chrometwo.fritz.box) by nala.villavu.com with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.85) (envelope-from ) id 1eqnjh-000756-2h; Tue, 27 Feb 2018 23:28:37 +0100 From: Merlijn Wajer To: linux-omap@vger.kernel.org Cc: tony@atomide.com, merlijn@wizzup.org, Bin Liu , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/1] usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers Date: Tue, 27 Feb 2018 23:27:39 +0100 Message-Id: <20180227222740.2150-2-merlijn@wizzup.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180227222740.2150-1-merlijn@wizzup.org> References: <20180227222740.2150-1-merlijn@wizzup.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Without pm_runtime_{get,put}_sync calls in place, reading vbus status via /sys causes the following error: Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa0ab060 pgd = b333e822 [fa0ab060] *pgd=48011452(bad) [] (musb_default_readb) from [] (musb_vbus_show+0x58/0xe4) [] (musb_vbus_show) from [] (dev_attr_show+0x20/0x44) [] (dev_attr_show) from [] (sysfs_kf_seq_show+0x80/0xdc) [] (sysfs_kf_seq_show) from [] (seq_read+0x250/0x448) [] (seq_read) from [] (__vfs_read+0x1c/0x118) [] (__vfs_read) from [] (vfs_read+0x90/0x144) [] (vfs_read) from [] (SyS_read+0x3c/0x74) [] (SyS_read) from [] (ret_fast_syscall+0x0/0x54) Solution was suggested by Tony Lindgren . Signed-off-by: Merlijn Wajer --- drivers/usb/musb/musb_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index eef4ad578b31..c344ef4e5355 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -1756,6 +1756,7 @@ vbus_show(struct device *dev, struct device_attribute *attr, char *buf) int vbus; u8 devctl; + pm_runtime_get_sync(dev); spin_lock_irqsave(&musb->lock, flags); val = musb->a_wait_bcon; vbus = musb_platform_get_vbus_status(musb); @@ -1769,6 +1770,7 @@ vbus_show(struct device *dev, struct device_attribute *attr, char *buf) vbus = 0; } spin_unlock_irqrestore(&musb->lock, flags); + pm_runtime_put_sync(dev); return sprintf(buf, "Vbus %s, timeout %lu msec\n", vbus ? "on" : "off", val); -- 2.16.2