Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754487AbcKWSca (ORCPT ); Wed, 23 Nov 2016 13:32:30 -0500 Received: from mail-wm0-f50.google.com ([74.125.82.50]:38876 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753197AbcKWSc3 (ORCPT ); Wed, 23 Nov 2016 13:32:29 -0500 From: Axel Haslam To: gregkh@linuxfoundation.org, nsekhar@ti.com, khilman@baylibre.com, david@lechnology.com, ptitiano@baylibre.com Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, Axel Haslam Subject: [PATCH] USB: ohci: da8xx: Balance ochi_disable with ohci_enable in resume. Date: Wed, 23 Nov 2016 19:32:02 +0100 Message-Id: <20161123183202.9246-1-ahaslam@baylibre.com> X-Mailer: git-send-email 2.9.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1085 Lines: 34 On resume from suspend a failure with -ESHUTDOWN is returned from ohci_bus_resume, and the usb is inoperable. This happens because ohci_suspend disables the master interrupt and sets an hcd flag to say that the hw is no longer accessible. Calling ohci_resume reverts the steps taken on ohci_suspend and flags the HW as "accessible" again, resume completes successfully and usb is working after a suspend/resume sequence. While we are here, remove setting device power_state, as this is no longer needed and scheduled for removal. Signed-off-by: Axel Haslam --- drivers/usb/host/ohci-da8xx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c index b3de8bc..a598bd8 100644 --- a/drivers/usb/host/ohci-da8xx.c +++ b/drivers/usb/host/ohci-da8xx.c @@ -340,8 +340,7 @@ static int ohci_da8xx_resume(struct platform_device *dev) if (ret) return ret; - dev->dev.power.power_state = PMSG_ON; - usb_hcd_resume_root_hub(hcd); + ohci_resume(hcd, false); return 0; } -- 2.9.3