Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755246AbcJMM3T (ORCPT ); Thu, 13 Oct 2016 08:29:19 -0400 Received: from mail-yb0-f180.google.com ([209.85.213.180]:35871 "EHLO mail-yb0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753904AbcJMM3L (ORCPT ); Thu, 13 Oct 2016 08:29:11 -0400 MIME-Version: 1.0 In-Reply-To: <87vawwtpdp.fsf@linux.intel.com> References: <521625dd7f5e335e2a681ec65ebffc5832207e5f.1475570367.git.baolin.wang@linaro.org> <87oa2ovicc.fsf@linux.intel.com> <87d1j4vasr.fsf@linux.intel.com> <871szkv6hq.fsf@linux.intel.com> <87vawwtpdp.fsf@linux.intel.com> From: Baolin Wang Date: Thu, 13 Oct 2016 20:23:23 +0800 Message-ID: Subject: Re: [RESEND PATCH v3 1/2] usb: dwc3: gadget: Add disconnect checking when changing function dynamically To: Felipe Balbi Cc: Janusz Dziedzic , Greg KH , Mark Brown , USB , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2171 Lines: 55 On 13 October 2016 at 20:17, Felipe Balbi wrote: > > Hi, > > Baolin Wang writes: >>>>>>>>>>>>> @@ -241,6 +241,9 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned cmd, >>>>>>>>>>>>> int susphy = false; >>>>>>>>>>>>> int ret = -EINVAL; >>>>>>>>>>>>> >>>>>>>>>>>>> + if (!dwc->pullups_connected) >>>>>>>>>>>>> + return -ESHUTDOWN; >>>>>>>>>>>>> + >>>>>>>>>> >>>>>>>>>> you skip trace_dwc3_gadget_ep_cmd() >>>>>>>>> >>>>>>>>> Yes, we did not need trace here since we did not send out the command. >>>>>>>>> >>>>>>>> What in such case: enumeration will not work and this will be because >>>>>>>> this ESHUTDOWN or wrong pullups_connected usage. Without a trace you >>>>>>>> will not know where the problem is. >>>>>>>> In my opinion this trace could be useful. >>>>>>> >>>>>>> We have returned the '-ESHUTDOWN' error number for user to know what >>>>>>> happened. >>>>>> >>>>>> No, this is actually not good and Janusz has a very valid point >>>>>> here. When we're debugging something in dwc3, we want to rely on >>>>>> tracepoints to tell us what's going on. I don't want to have to add more >>>>>> debugging messages to print out that ESHUTDOWN error just so I can >>>>>> figure out what's going on. You should be patching this in a way that >>>>>> the tracepoint is still printed out properly. >>>>> >>>>> Fine. Will fix this in next version. >>>>> >>>> >>>> BTW, did you test this patch with device mode? >>>> Seems in my setup this fail - DWC3_DEPCMD_SETEPCONFIG for ep0out and >>>> gadget_start() failed (enumeration fail). >>>> Don't we need to queue ep0 cmds before pullup? >>> >>> Baolin, it's clear to me that you're not testing any of the patches >> >> I am sure I tested every patch I send to you. But this one is really >> my mistake and I thought this is just one small change with just eye >> review. I am really sorry for troubles. > > fair enough, luckily Janusz caught it before any harm could be > done. Thanks for taking the time to explain. Thanks for understanding and thanks for Janusz's testing. -- Baolin.wang Best Regards