All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <jhovold@gmail.com>
To: Oliver Neukum <oneukum@suse.de>
Cc: Johan Hovold <jhovold@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.cz>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	Peter Hurley <peter@hurleysoftware.com>,
	One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>,
	Xiao Jin <jin.xiao@intel.com>,
	david.a.cohen@linux.intel.com, yanmin.zhang@intel.com
Subject: Re: [PATCH] USB: cdc-acm: fix broken runtime suspend
Date: Tue, 15 Apr 2014 14:19:08 +0200	[thread overview]
Message-ID: <20140415121908.GC24422@localhost> (raw)
In-Reply-To: <20140415091317.GB24422@localhost>

On Tue, Apr 15, 2014 at 11:13:17AM +0200, Johan Hovold wrote:
> On Tue, Apr 15, 2014 at 10:35:19AM +0200, Oliver Neukum wrote:
> > On Mon, 2014-04-14 at 21:58 +0200, Johan Hovold wrote:
> > 
> > > Fix this by implementing a delayed-write queue using urb anchors and
> > > making sure to discard the queue properly at shutdown.
> > 
> > Looks very good, with one exception: acm_tty_close() must
> > synchronously resume the device so that the anchor is emptied
> > before ASYNCB is cleared.
> 
> That isn't necessary as the device is already about to be resumed and
> the initialised flag will not be cleared until chars_in_buffer() returns
> 0 or closing wait times out.
> 
> In the first case, the queue has been emptied as the urbs are submitted
> at resume(), and in the second case the queue is discarded at
> shutdown().

Turns out that the usb_wwan (and thus ipw, option, and qcserial) and
sierra usb-serial drivers also fail to get runtime-suspend right. The
first one leaks urbs and the second does synchronous resume and submits
urbs during shutdown.

I'll fix it up.

Johan

  reply	other threads:[~2014-04-15 12:19 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-08  3:05 [PATCH] cdc-acm: some enhancement on acm delayed write Xiao Jin
2014-04-08  7:33 ` Johan Hovold
2014-04-08 10:22   ` Oliver Neukum
2014-04-11  9:45     ` Johan Hovold
2014-04-08 10:33   ` Oliver Neukum
2014-04-08 13:17     ` Johan Hovold
2014-04-08 13:38       ` Oliver Neukum
2014-04-08 13:52         ` Johan Hovold
2014-04-08 11:22 ` One Thousand Gnomes
2014-04-08 13:12   ` Johan Hovold
2014-04-09 14:57 ` Xiao Jin
2014-04-09 17:43   ` David Cohen
2014-04-10  8:02   ` Oliver Neukum
2014-04-10 22:51     ` Xiao Jin
2014-04-11  7:09       ` Oliver Neukum
2014-04-11  9:37     ` Johan Hovold
2014-04-11  9:41       ` [RFC 1/2] n_tty: fix dropped output characters Johan Hovold
2014-04-11  9:41         ` [RFC 2/2] USB: cdc-acm: fix broken runtime suspend Johan Hovold
2014-04-14 12:53         ` [RFC 1/2] n_tty: fix dropped output characters One Thousand Gnomes
2014-04-14 13:05           ` Oliver Neukum
2014-04-14 14:04             ` One Thousand Gnomes
2014-04-14 13:27           ` Johan Hovold
2014-04-14 19:58       ` [PATCH] USB: cdc-acm: fix broken runtime suspend Johan Hovold
2014-04-15  8:24         ` Xiao Jin
2014-04-15  8:54           ` Johan Hovold
2014-04-15  8:35         ` Oliver Neukum
2014-04-15  9:13           ` Johan Hovold
2014-04-15 12:19             ` Johan Hovold [this message]
2014-05-24 14:42         ` Johan Hovold
2014-05-24 19:59           ` Greg Kroah-Hartman
2014-05-24 20:42             ` Johan Hovold
2014-05-26 17:22               ` [PATCH 00/63] USB: (mostly runtime PM) patches for v3.16-rc Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140415121908.GC24422@localhost \
    --to=jhovold@gmail.com \
    --cc=david.a.cohen@linux.intel.com \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linuxfoundation.org \
    --cc=jin.xiao@intel.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.de \
    --cc=peter@hurleysoftware.com \
    --cc=yanmin.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.