From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754543AbcIIUIJ (ORCPT ); Fri, 9 Sep 2016 16:08:09 -0400 Received: from muru.com ([72.249.23.125]:41778 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751917AbcIIUIH (ORCPT ); Fri, 9 Sep 2016 16:08:07 -0400 Date: Fri, 9 Sep 2016 13:08:03 -0700 From: Tony Lindgren To: Laurent Pinchart Cc: Andreas Kemnade , Bin Liu , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, letux-kernel@openphoenux.org Subject: Re: [v2] musb: omap2430: do not assume balanced enable()/disable() Message-ID: <20160909200803.4cngkfhgkki4e7o3@atomide.com> References: <1470238731-32358-1-git-send-email-andreas@kemnade.info> <1946895.vi37Pmm05X@avalon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1946895.vi37Pmm05X@avalon> User-Agent: Mutt/1.6.2-neo (2016-07-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Laurent Pinchart [160909 12:27]: > Hi Andreas, > > Thank you for the patch. > > On Wednesday 03 Aug 2016 17:38:51 Andreas Kemnade wrote: > > The code assumes that omap2430_musb_enable() and > > omap2430_musb_disable() are called in a balanced way. > > That fact is broken by the fact that musb_init_controller() calls > > musb_platform_disable() to switch from unknown state to off state > > on initialisation. > > > > That means that phy_power_off() is called first so that > > phy->power_count gets -1 and the phy is not enabled on phy_power_on(). > > So when usb gadget is started the phy is not powered on. > > Depending on the phy used that caused various problems. > > Besides of causing usb problems, that can also have side effects. > > > > In the case of using the phy_twl4030, that prevents also charging > > the battery via usb (using twl4030_charger) and so makes further > > kernel debugging hard. > > The problem was seen with 4.7 on an openphoenux gta04. It has a DM3730 > > SoC and a TPS65950 companion. phy->power never became 1 > > and so the usb did get powered on. > > > > The patch prevents phy_power_off() from being called when > > it is already off. > > > > Signed-off-by: Andreas Kemnade > > This fixes USB gadget operation on the Panda board. > > Fixes: a83e17d0f73b ("usb: musb: Improve PM runtime and phy handling for 2430 > glue layer") > Tested-by: Laurent Pinchart This patch has a side effect of fixing the issue by breaking PM runtime, not a good fix as discussed. Regards, Tony