From: "Bjørn Mork" <bjorn@mork.no>
To: Oliver Neukum <oneukum@suse.de>
Cc: "Fangxiaozhi \(Franko\)" <fangxiaozhi@huawei.com>,
"linux-usb\@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Xueguiying \(Zihan\)" <zihan.xue@huawei.com>,
"Linlei \(Lei Lin\)" <lei.lin@huawei.com>,
Greg KH <gregkh@linuxfoundation.org>,
"Yili \(Neil\)" <neil.yi@huawei.com>, "Wangyuhua \(Roger\,
Credit\)" <wangyuhua@huawei.com>,
"Huqiao \(C\)" <huqiao36@huawei.com>,
"balbi\@ti.com" <balbi@ti.com>,
"mdharm-usb\@one-eyed-alien.net" <mdharm-usb@one-eyed-alien.net>,
"sebastian\@breakpoint.cc" <sebastian@breakpoint.cc>,
stable <stable@vger.kernel.org>
Subject: Re: [PATCH] USB: storage: fix Huawei mode switching regression
Date: Tue, 05 Mar 2013 15:08:21 +0100 [thread overview]
Message-ID: <876216os6i.fsf@nemi.mork.no> (raw)
In-Reply-To: <21299891.5uLjgmNaTJ@linux-5eaq.site> (Oliver Neukum's message of "Tue, 05 Mar 2013 12:52:39 +0100")
Oliver Neukum <oneukum@suse.de> writes:
> On Tuesday 05 March 2013 11:07:05 Bjørn Mork wrote:
>> "Fangxiaozhi (Franko)" <fangxiaozhi@huawei.com> writes:
>>
>> > ------ commit 200e0d99 and commit cd060956, only put the switch
>> > command into kernel, instead of userspace usb_modeswitch utility.
>>
>> Yes. And that is the problem. It was agreed years ago that this
>> functionality belongs in userspace. Ref e.g
>> https://lkml.org/lkml/2009/12/15/332
>> https://lkml.org/lkml/2010/4/19/216
>> https://lkml.org/lkml/2012/2/28/569
>>
>> Please note the re-occurrence of this discussion, despite the fact that
>> Matthew's message from 2009 should be quite clear.
>
> Since 2009 the facts have been changing. Basically we are encountering
> two trends
>
> 1. Power save has become more important
> 2. We are seeing devices that are switchable, yet include interfaces other
> than communication and virtual storage, foremost real storage in the
> form of a microSD-reader
This changed with Windows8. You will see _less_ switchable devices in
the future. Mode switching is now considered legacy functionality
intended for OSes released before 2012.
> Whenever we cut power to a switchable device it reverts to the power-on
> state. That involves not only the communication functionality (which we
> could live with, as it cannot handle loss of power anyway) but also other
> interfaces. In addition we need to deal with resets which may or may not
> make the device revert to power-on
>
> This is a basic problem of the design. If you want reset_resume() for power
> loss to work you need to do it in kernel space for the same reason we restore
> the configuration in kernel space before we rebind the drivers and before
> we thaw user space.
>
> However, this argues not for doing the switch simply in the storage driver
> but to switch in the core.
OK, I think I understand. You really want us to completely ignore the
unswitched mode and just seemlessly restore the switched mode, the same
way we just silently fetch the device descriptor and restore the
configuration.
Well, that does sound interesting. But I don't think we want the tables
hard coded in the USB core? Maybe a new userspace ABI or a new driver API?
I am not sure this is worth it though. The "other OS" does not support
this either. Microsoft's solution to the problem is getting rid of the
whole mode switching hell, requiring the devices to support MBIM in
their default mode. I believe we are better off working on improving
the MBIM userspace support than trying to work around this self imposed
firmware issue.
Bjørn
next prev parent reply other threads:[~2013-03-05 14:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87obezs888.fsf@nemi.mork.no>
2013-03-04 13:19 ` [PATCH] USB: storage: fix Huawei mode switching regression Bjørn Mork
2013-03-04 14:29 ` Ben Hutchings
2013-03-04 16:47 ` Bjørn Mork
2013-03-04 16:59 ` Matthew Dharm
2013-03-04 19:22 ` Bjørn Mork
2013-03-04 22:28 ` Josua Dietze
2013-03-05 8:32 ` Oliver Neukum
2013-03-05 11:35 ` Bjørn Mork
2013-03-05 2:15 ` Fangxiaozhi (Franko)
2013-03-05 10:07 ` Bjørn Mork
2013-03-05 11:52 ` Oliver Neukum
2013-03-05 14:08 ` Bjørn Mork [this message]
2013-03-06 1:34 ` 答复: " Linlei (Lei Lin)
2013-03-06 1:44 ` Greg KH
2013-03-06 15:45 ` Dan Williams
2013-03-07 2:54 ` Fangxiaozhi (Franko)
2013-03-07 3:18 ` Greg KH
2013-03-07 12:19 ` Bjørn Mork
2013-03-07 14:11 ` Josua Dietze
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=876216os6i.fsf@nemi.mork.no \
--to=bjorn@mork.no \
--cc=balbi@ti.com \
--cc=fangxiaozhi@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=huqiao36@huawei.com \
--cc=lei.lin@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mdharm-usb@one-eyed-alien.net \
--cc=neil.yi@huawei.com \
--cc=oneukum@suse.de \
--cc=sebastian@breakpoint.cc \
--cc=stable@vger.kernel.org \
--cc=wangyuhua@huawei.com \
--cc=zihan.xue@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).