Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2670650imj; Mon, 11 Feb 2019 06:47:47 -0800 (PST) X-Google-Smtp-Source: AHgI3IYZwBqR3L0F1xvK0q53YVK7Y8R7HcrMCsr9xwhkJYkTTDMj8faO+CJNmtRViTChY9JKLMyC X-Received: by 2002:a65:620c:: with SMTP id d12mr1435017pgv.328.1549896467831; Mon, 11 Feb 2019 06:47:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549896467; cv=none; d=google.com; s=arc-20160816; b=u2g5L68Qvo3xzwKj2KxwIazfN2p7BG6XCIJ2RF6YLdzYslSX/rovikeW6AT7MoreiY mrIFG+q/D1+38lrmv8LCIn3wpw0Z7QU/lKzhfQvidiedOv/kJ+eG+MmCx9z954noHEoE kIsa5DKVuIfBQZpYOsuj7C93/IV0rBQvuoKNveA8bsn8iM3D9FK9ZC539XmLx5RwXcgH 7a0X7/FFyHFsgf17WtyZnwNF/EFn5zBVzNhkDSdfmF56XFuXu6ow2qavV7izSDxd5dNI VOXDt6GjfMrrcn5Q7BzRPyS6rkdGdKCRvfX/iikcYS9iJCpeb2WvAeZ7Gtc3hhj8ON1X 7dYA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=J9R6XiWtnvYg+LCOUNJA302Iu4vGixhNgXe/iAl5Jv8=; b=mq2tJaKFTveyYgr4iuOEVFpicOk+umcW20OOPc9jDduIKvNM4vLuw6j2TyBFUP11/4 bwWbFaQMIiQdfLf41hf3DIc88ZQj+yF5u/aa/VMi5cwx0fK8oXp+hLjegy/m5N9UqbwC YmhvYvlcZTT2fKaluFTVV4wED48rNoeUeLMfKlbYQqQlKyGD7sY1gWPGODlDSNO9Tfy7 xMqraflfTMZLAhTaftkjqWIgCn3XSXVTuLEdXhPxN1bJL61UMRHNmNYoI2EXxq+GW+jz 3C8cf7IIvRE99a/eR0+uy5bj0XDpWNdHUS82AMrEDJxRkek3q0EeDAizRzu/Xw2FIXer b9uA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KJjhaPth; 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 m11si10397983plt.26.2019.02.11.06.47.31; Mon, 11 Feb 2019 06:47:47 -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; dkim=pass header.i=@kernel.org header.s=default header.b=KJjhaPth; 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 S1733041AbfBKOp1 (ORCPT + 99 others); Mon, 11 Feb 2019 09:45:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:58454 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733028AbfBKOpY (ORCPT ); Mon, 11 Feb 2019 09:45:24 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AD50120700; Mon, 11 Feb 2019 14:45:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549896324; bh=rIlN6tdJDDSW+6HuXH6H2GQAUWB8goX6fEux9nbIRzY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KJjhaPthh93X3yFdqghM9/BfALuxirgcjpDgCN9HICN7Zz9KOwIg2Nn6gQiRqfCYD B9+ZeXDzN5MmcxL+zx+VkFSE55qGSLeUS1PhP5Yt8bYaQCQ14pfm7MWGXuEJRMiKzB OyhicZsGPgMV277yTpBK6VUvwoCurZxayhlbSbig= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kai-Heng Feng , Oleksandr Natalenko , Ulf Hansson , Sasha Levin Subject: [PATCH 4.19 146/313] memstick: Prevent memstick host from getting runtime suspended during card detection Date: Mon, 11 Feb 2019 15:17:06 +0100 Message-Id: <20190211141903.364569615@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190211141852.749630980@linuxfoundation.org> References: <20190211141852.749630980@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit e03e303edf1c63e6dd455ccd568c74e93ef3ba8c ] We can use MEMSTICK_POWER_{ON,OFF} along with pm_runtime_{get,put} helpers to let memstick host support runtime pm. The rpm count may go down to zero before the memstick host powers on, so the host can be runtime suspended. So before doing card detection, increment the rpm count to avoid the host gets runtime suspended. Balance the rpm count after card detection is done. Signed-off-by: Kai-Heng Feng Tested-by: Oleksandr Natalenko Signed-off-by: Ulf Hansson Signed-off-by: Sasha Levin --- drivers/memstick/core/memstick.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/memstick/core/memstick.c b/drivers/memstick/core/memstick.c index 76382c858c35..1246d69ba187 100644 --- a/drivers/memstick/core/memstick.c +++ b/drivers/memstick/core/memstick.c @@ -18,6 +18,7 @@ #include #include #include +#include #define DRIVER_NAME "memstick" @@ -436,6 +437,7 @@ static void memstick_check(struct work_struct *work) struct memstick_dev *card; dev_dbg(&host->dev, "memstick_check started\n"); + pm_runtime_get_noresume(host->dev.parent); mutex_lock(&host->lock); if (!host->card) { if (memstick_power_on(host)) @@ -479,6 +481,7 @@ out_power_off: host->set_param(host, MEMSTICK_POWER, MEMSTICK_POWER_OFF); mutex_unlock(&host->lock); + pm_runtime_put(host->dev.parent); dev_dbg(&host->dev, "memstick_check finished\n"); } -- 2.19.1