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: Wed, 06 Mar 2013 09:32:29 +0100 [thread overview]
Message-ID: <87fw09nd2a.fsf@nemi.mork.no> (raw)
In-Reply-To: <CACVXFVN+Nwjst2EkPEsnqx0tQ+z922wq7jn7v1Mtmsw+Op86XA@mail.gmail.com> (Ming Lei's message of "Wed, 6 Mar 2013 15:50:08 +0800")
Ming Lei <ming.lei@canonical.com> writes:
> Here is one link I found:
>
> http://marc.info/?l=linux-usb&m=132557022902261&w=2
Thanks. This section caught my eye:
"The USB suspend/resume code is full of those crazy "let's use one
function, and pass it as an *argument* what to do". It's a disease.
The PM layer used to do the same thing (PMSG_xyz crap), and we've
largely gotten rid of it, but USB still plays around with those things
and makes it even *worse* exactly with these kinds of
"do_unbind_rebind()" routines that then look at the argument instead
of having a sane routine for unbinding and another sane routine for
re-binding."
I take that as supporting my view on all the "if (PMSG_IS_AUTO(msg)"
testing...
But I don't have any ideas on how to fix it now that you all have spoon
fed me the background.
> IMO, we unbind interface which hasn't suspend/resume callback
> during suspend because there is no better way to handle the case.
> But for the suspend failure case, maybe rebind isn't necessary, and
> we can document that drivers have to handle their system suspend
> failure in resume(), where it is very suitable to do PM recovery.
Yup, agreed, although I fear that if Alan's commit messages are confused
then I unable explain anything like this ;)
> Also we may store the failure code into usb_interface, and let
> USB core check if the suspend failure has been handled/cleared
> after resume().
That sounds unnecessarily complicated. Let the driver deal with
it, keeping the API as simple as possible.
Bjørn
next prev parent reply other threads:[~2013-03-06 8:32 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
[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 [this message]
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=87fw09nd2a.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.