From: Benjamin Cherian <benjamin.cherian.kernel@gmail.com>
To: Pete Zaitcev <zaitcev@redhat.com>
Cc: linux-kernel@vger.kernel.org, linux-usb-devel@sourceforge.net
Subject: Re: Bug with USB proc_bulk in 2.4 kernel
Date: Mon, 17 Jul 2006 14:35:21 -0700 [thread overview]
Message-ID: <200607171435.22128.benjamin.cherian.kernel@gmail.com> (raw)
In-Reply-To: <20060710134022.c059d06c.zaitcev@redhat.com>
Hi Pete,
> This consideration is wholly irrelevant to the pertinent topic,
> because the very issue arises from devices being non-compliant.
> If we want them to operate, we have to apply workarounds, which
> may but us outside of the spec envelope. So I am not even going
> to argue if the spec in fact mandates this behaviour.
I understand the need to apply workarounds. But here is why the spec is
relevant. By applying workarounds you have *broken* the functionality of
Linux with respect to the USB specification. In my opinion, workarounds
should be constrained to fixing the problem rather than creating new ones.
> > This is exactly what I suggested in my first email. It just involves
> > adding a couple of lines of code, but I'm not sure how the unlock
> > function works in 2.4. In 2.6, the device is unlocked WITHIN proc_bulk
> > before usb_bulk_mesg is called and is locked after usb_bulk_mesg returns.
> > Therefore, the device is still locked during control transfers.
>
> I explained why this technique is not applicable to 2.4 in the part
> of the message you failed to quote. To recap, if bulk methods were
> simply to drop locks with a "couple of lines of code", they would allow
> control transfers to happen simultaneously with bulk transfers.
> It happens to work in 2.6 only because of its string caching feature.
> Indeed, Stuart Hayes of Dell reported that he can cause TEAC CD-210PU
> to break under 2.6.16 in the same way it did in 2.4.27, simply by doing
> "lsusb -v" instead of "cat /proc/bus/usb/devices". The issue is still
> with us. Greg chose to bypass it in 2.6, instead of fixing it, due
> to the amount of work involved.
Honestly, you provided very little information in your initial email. I had
to dig through the kernel source to make sense of what was going on. Even
for the above, I'm not understanding why "lsusb -v" causes problems under
2.6.16. Does the "-v" option cause the kernel to send control packets to the
device? You have to understand that the USB driver stack under Linux is not
my domain of expertise and I'm coming to you with a problem that is not of my
doing. It would help a great deal to receive more details from you.
> This is a fixable issue, but it's not two lines of code. And its
> impact is very limited. If you, the person who actually suffers, are
> not willing to do the necessary work, then why would anyone else be?
> Still, I would be happy to consider your patch, if it were to emerge.
It is really looking like you are backing me into a corner to make the change
myself. However, before doing so I'd like to say that I am disappointed that
the kernel developer list has not been more accommodating to this issue. I
understand that this problem only affects very few people. However, please
consider the spirit of what has happened here. My device adheres to the
specification. In an effort to fix other devices that do not adhere to the
specification you have broken my device. Then I am being asked to make
modifications to the OS, when clearly this is not my domain. We all want
Linux to be a primetime operating system and this sort of interaction with
the developers list is *not* representative of that desire.
Besides, the device that is being broken is a 10x CD-ROM drive! Who even uses
these anymore? :-)
Regards,
Benjamin Cherian
next prev parent reply other threads:[~2006-07-17 21:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.1152332281.24203.linux-kernel2news@redhat.com>
2006-07-08 20:28 ` Bug with USB proc_bulk in 2.4 kernel and possibly bug in proc_ioctl in 2.6 Pete Zaitcev
2006-07-10 19:58 ` Bug with USB proc_bulk in 2.4 kernel Benjamin Cherian
2006-07-10 20:40 ` Pete Zaitcev
2006-07-17 21:35 ` Benjamin Cherian [this message]
2006-07-17 22:19 ` Pete Zaitcev
2006-07-18 17:04 ` Benjamin Cherian
2006-07-19 1:33 ` Pete Zaitcev
2006-07-20 17:43 ` Benjamin Cherian
2006-07-25 6:07 ` Pete Zaitcev
2006-07-25 19:31 ` Willy Tarreau
2006-07-27 22:21 ` Benjamin Cherian
2006-07-27 23:49 ` Pete Zaitcev
2006-07-28 17:37 ` Benjamin Cherian
2006-07-30 7:35 ` Pete Zaitcev
2006-07-31 18:41 ` Benjamin Cherian
2006-08-02 19:51 ` Willy Tarreau
2006-08-03 1:02 ` Pete Zaitcev
2006-08-03 2:33 ` Willy Tarreau
2006-08-03 6:00 ` Pete Zaitcev
2006-08-03 6:29 ` Willy Tarreau
2006-08-04 16:57 ` Benjamin Cherian
2006-08-04 16:55 ` Willy Tarreau
2006-08-09 17:01 ` Benjamin Cherian
2006-08-09 17:02 ` Willy Tarreau
2006-08-12 0:14 ` Marcelo Tosatti
2006-08-12 3:21 ` Willy Tarreau
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=200607171435.22128.benjamin.cherian.kernel@gmail.com \
--to=benjamin.cherian.kernel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@sourceforge.net \
--cc=zaitcev@redhat.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