From: "Bjørn Mork" <bjorn@mork.no>
To: Ming Lei <ming.lei@canonical.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Kosina <jkosina@suse.cz>,
Alan Stern <stern@rowland.harvard.edu>,
Oliver Neukum <oneukum@suse.de>,
netdev@vger.kernel.org, linux-usb@vger.kernel.org,
linux-input@vger.kernel.org
Subject: Re: [PATCH 4/7] usbnet: cdc_mbim: don't recover device if suspend fails in system sleep
Date: Tue, 05 Mar 2013 17:08:07 +0100 [thread overview]
Message-ID: <87wqtlommw.fsf@nemi.mork.no> (raw)
In-Reply-To: <CACVXFVMDNtJOp+8jMOuhCBjrqq-L=jicEJBr_=ErG19Vr+7OGw@mail.gmail.com> (Ming Lei's message of "Tue, 5 Mar 2013 23:29:15 +0800")
Ming Lei <ming.lei@canonical.com> writes:
> Yes, USB core will flush any outstanding URBs, but the driver still need
> to deal with suspend failure carefully, for example, suppose usb_resume()
> is called in suspend failure path, and the submitted URBs are killed
> by USB core later. But after the device is wakeup, and the resume() will
> do nothing since the suspend count is leaked. So it is what the patches
> are fixing, and it is better to not depend on the default flushing URBs of
> USB core.
I am starting to wonder why the USB core has combined system suspend and
runtime suspend if we are going to end up with every driver testing
PMSG_IS_AUTO(message) and selecting a completely different code path.
You are right that we will end up with problems if usbnet_resume is
called for a device usbnet hasn't suspended. But I'd still claim that
is a bug in the USB core, which is the one that decided to ignore the
suspend error and still call resume.
I guess proper error handling here require the USB core to see the
interface driver as dead if it fails to suspend on system suspend, and
do forced rebinding on resume.
I am not going to fight this any longer. The per-driver
PMSG_IS_AUTO(message) testing is an ugly workround for a core problem,
but they are already all over the place... Still, please make sure the
drivers all return 0 if they are pretending to suspend. No error code
return if the driver ignores the error.
Bjørn
next prev parent reply other threads:[~2013-03-05 16:08 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-05 4:01 [PATCH 0/7] USB: don't recover device if suspend fails in system sleep Ming Lei
2013-03-05 4:01 ` [PATCH 1/7] USB: adds comment on suspend callback Ming Lei
2013-03-05 13:16 ` Ming Lei
[not found] ` <1362456103-24956-1-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2013-03-05 4:01 ` [PATCH 2/7] USB: serial: handle suspend failure path correctly Ming Lei
2013-03-05 4:01 ` [PATCH 3/7] USBHID: don't recover device if suspend fails in system sleep Ming Lei
2013-03-05 4:01 ` [PATCH 4/7] usbnet: cdc_mbim: " Ming Lei
[not found] ` <1362456103-24956-5-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2013-03-05 7:09 ` Bjørn Mork
2013-03-05 11:07 ` Ming Lei
2013-03-05 13:46 ` Bjørn Mork
2013-03-05 14:50 ` Ming Lei
2013-03-05 15:03 ` Bjørn Mork
2013-03-05 15:29 ` Ming Lei
2013-03-05 16:08 ` Bjørn Mork [this message]
[not found] ` <87wqtlommw.fsf-lbf33ChDnrE/G1V5fR+Y7Q@public.gmane.org>
2013-03-05 16:54 ` Alan Stern
2013-03-05 16:54 ` Alan Stern
2013-03-05 17:35 ` Bjørn Mork
2013-03-05 17:35 ` Bjørn Mork
2013-03-06 2:51 ` Ming Lei
2013-03-06 3:03 ` Ming Lei
[not found] ` <CACVXFVN=i10cVS3RQ7jGrJAfsC+r2t61z7XOVKWMAMqKKELZCg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-06 7:06 ` Bjørn Mork
2013-03-06 7:50 ` Ming Lei
2013-03-06 8:32 ` Bjørn Mork
2013-03-05 4:01 ` [PATCH 5/7] usbnet: smsc95xx: " Ming Lei
2013-03-05 4:01 ` [PATCH 6/7] usbnet: smsc75xx: " Ming Lei
2013-03-05 4:01 ` [PATCH 7/7] usbnet: qmi_wwan: " Ming Lei
[not found] ` <1362456103-24956-8-git-send-email-ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2013-03-05 7:09 ` Bjørn Mork
2013-03-05 12:27 ` Ming Lei
2013-03-05 5:14 ` [PATCH 0/7] USB: " Ming Lei
2013-03-05 7:03 ` Bjørn Mork
2013-03-05 10:55 ` Ming Lei
2013-03-05 12:50 ` Oliver Neukum
[not found] ` <3703451.5FViJ58GpZ-7ztolUikljGernLeA6q8OA@public.gmane.org>
2013-03-05 13:08 ` Ming Lei
2013-03-05 13:28 ` Oliver Neukum
2013-03-05 14:03 ` Ming Lei
2013-03-05 13:18 ` Bjørn Mork
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=87wqtlommw.fsf@nemi.mork.no \
--to=bjorn@mork.no \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=jkosina@suse.cz \
--cc=linux-input@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=ming.lei@canonical.com \
--cc=netdev@vger.kernel.org \
--cc=oneukum@suse.de \
--cc=stern@rowland.harvard.edu \
/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.