Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753526AbcD2MQU (ORCPT ); Fri, 29 Apr 2016 08:16:20 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:33655 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753193AbcD2MQB (ORCPT ); Fri, 29 Apr 2016 08:16:01 -0400 Date: Fri, 29 Apr 2016 14:16:01 +0200 From: Johan Hovold To: Grigori Goronzy Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 01/13] USB: ch341: fix error handling on resume Message-ID: <20160429121601.GE22229@localhost> References: <1460754856-27908-1-git-send-email-greg@chown.ath.cx> <1460754856-27908-2-git-send-email-greg@chown.ath.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1460754856-27908-2-git-send-email-greg@chown.ath.cx> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1101 Lines: 36 On Fri, Apr 15, 2016 at 11:14:04PM +0200, Grigori Goronzy wrote: > This may fail, do not assume it always works. > > Signed-off-by: Grigori Goronzy > --- > drivers/usb/serial/ch341.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c > index c73808f..63df8ce 100644 > --- a/drivers/usb/serial/ch341.c > +++ b/drivers/usb/serial/ch341.c > @@ -544,9 +544,7 @@ static int ch341_reset_resume(struct usb_serial *serial) > priv = usb_get_serial_port_data(serial->port[0]); > > /* reconfigure ch341 serial port after bus-reset */ > - ch341_configure(serial->dev, priv); > - > - return 0; > + return ch341_configure(serial->dev, priv); This is correct, but have noticed that resume is currently broken in that the interrupt urb is never resubmitted on resume in case the port is already open? Also ch341_configure must not use GFP_KERNEL either if called from a resume path (use GFP_NOIO). Care to fix this up as well? > } > > static struct usb_serial_driver ch341_device = { Thanks, Johan