From patchwork Thu Oct 13 11:37:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 9374871 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 996B460487 for ; Thu, 13 Oct 2016 11:39:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8A51129FF7 for ; Thu, 13 Oct 2016 11:39:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7EF7329FF9; Thu, 13 Oct 2016 11:39:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B792829FF7 for ; Thu, 13 Oct 2016 11:39:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754997AbcJMLix (ORCPT ); Thu, 13 Oct 2016 07:38:53 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:33466 "EHLO mail-lf0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754344AbcJMLia (ORCPT ); Thu, 13 Oct 2016 07:38:30 -0400 Received: by mail-lf0-f43.google.com with SMTP id x79so135045289lff.0 for ; Thu, 13 Oct 2016 04:37:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=c3vOD18pM8tlkG0/bb4C/1ENvsApB4LLzkjP1pJajjU=; b=LBBwj3QVX2dp3vYUpGvkN6u3OPOhwk8FDvHec4PzaIIpirlZbq9StCi3oHFtEenske 48l6NJ5sFb3t49DJwdBarmV+XMk4v0H7hRpU3LmHm5MKz1SFDC72DGToUTMxUreV0KRI qQ3Lb8lXC9UTti4EwZVohJCfZz9XeRnbyFpJQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=c3vOD18pM8tlkG0/bb4C/1ENvsApB4LLzkjP1pJajjU=; b=D97mFlsPBtQCpKbglI0W8yg9I4q6ub3HRN/oDK5nsXsvhc1gP/MRbJYiS0f6VUR57Y ys2RKeEJxNLC+Ovrs3fRHvOyOn+njZLtzK70zAvDzR2PkxZWpmffXzI0ubZWT04cU+OX LJEY8qo2EHmwp7LQJ/lsMnGd2xYW9HoqFd58wYjQ+t8LDyozl4kq9AcUhh0ebS0D0gZ6 MNiPXHUiDxgDTD/4OV38G5mMKRr0Lr6O++xbkum5GCKxV4jiS6PQQXfaqJX6jhvWVOY1 8nZS9wbGA75NJm5sdKNfJjGvVbplBXVcdPPc2bIcOK34LkCISt0XqltmUUVhQrcfkoSG YUGQ== X-Gm-Message-State: AA6/9Rl5HOhgf0eI/hsFiZmhhyIFzR0FHSlo9L6YwxiXljOGDehL3oB2TMCenCUjxVxhGahu X-Received: by 10.25.234.141 with SMTP id y13mr9501733lfi.25.1476358675878; Thu, 13 Oct 2016 04:37:55 -0700 (PDT) Received: from localhost.localdomain (h-155-4-221-67.na.cust.bahnhof.se. [155.4.221.67]) by smtp.gmail.com with ESMTPSA id p76sm3648114lfd.11.2016.10.13.04.37.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 13 Oct 2016 04:37:54 -0700 (PDT) From: Ulf Hansson To: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Ulf Hansson Cc: Ritesh Raj Sarraf , Alan Stern , Oliver Neukum , USB list , Roger Tseng , Wei WANG , Subject: [PATCH 2/6] mmc: rtsx_usb_sdmmc: Handle runtime PM while changing the led Date: Thu, 13 Oct 2016 13:37:36 +0200 Message-Id: <1476358660-8338-3-git-send-email-ulf.hansson@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1476358660-8338-1-git-send-email-ulf.hansson@linaro.org> References: <1476358660-8338-1-git-send-email-ulf.hansson@linaro.org> Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Accesses of the rtsx sdmmc's parent device, which is the rtsx usb device, must be done when it's runtime resumed. Currently this isn't case when changing the led, so let's fix this by adding a pm_runtime_get_sync() and a pm_runtime_put() around those operations. Reported-by: Ritesh Raj Sarraf Tested-by: Ritesh Raj Sarraf Cc: Cc: Alan Stern Signed-off-by: Ulf Hansson --- drivers/mmc/host/rtsx_usb_sdmmc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/mmc/host/rtsx_usb_sdmmc.c b/drivers/mmc/host/rtsx_usb_sdmmc.c index e0b8590..6e9c0f8 100644 --- a/drivers/mmc/host/rtsx_usb_sdmmc.c +++ b/drivers/mmc/host/rtsx_usb_sdmmc.c @@ -1309,6 +1309,7 @@ static void rtsx_usb_update_led(struct work_struct *work) container_of(work, struct rtsx_usb_sdmmc, led_work); struct rtsx_ucr *ucr = host->ucr; + pm_runtime_get_sync(sdmmc_dev(host)); mutex_lock(&ucr->dev_mutex); if (host->led.brightness == LED_OFF) @@ -1317,6 +1318,7 @@ static void rtsx_usb_update_led(struct work_struct *work) rtsx_usb_turn_on_led(ucr); mutex_unlock(&ucr->dev_mutex); + pm_runtime_put(sdmmc_dev(host)); } #endif