From: Mark Lord <lkml@rtr.ca>
To: Greg KH <gregkh@suse.de>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>, linux-usb@vger.kernel.org
Subject: Re: libusb broken on 2.6.28 x86_64 ?
Date: Fri, 02 Jan 2009 02:48:24 -0500 [thread overview]
Message-ID: <495DC6C8.7070501@rtr.ca> (raw)
In-Reply-To: <20090102072436.GA3444@suse.de>
Greg KH wrote:
> On Fri, Jan 02, 2009 at 02:01:21AM -0500, Mark Lord wrote:
>> Mark Lord wrote:
>>> I'm trying to use 2.6.28 for the first time on an x86_64 box here
>>> with devices controlled by libusb. The devices work on the first
>>> access, but then fail on all subsequent accesses. Unplugging/replugging
>>> causes them to work again for a single subsequent access.
>>> This is with two completely different USB gadgets:
>>> a VFD alphanumeric display, and an FTDI serial device in bitbang mode.
>>> Did something break in 2.6.28 for libusb devices ??
>> ..
>>
>> Mmm.. broken only for 64-bit userspace, it seems.
>>
>> I've recompiled the same app against 32-bit libs,
>> and it works just fine on that 64-bit system,
>> as well as on 32-bit systems.
>>
>> But not when compiled for pure 64-bit operation on a 64-bit system.
>>
>> Looks tricky .. must be a change somewhere that assumes
>> a pointer/long is 32-bits or something.
>
> Which version of libusb, a new one was just released a few weeks ago
> that fixes a lot of problems reported in the older libusb versions, and
> made things much faster to boot. You might want to check it out.
..
I might look at that someday, but in the meanwhile we have broken
userspace in 2.6.28, and that needs to be sorted out first.
I'm still poking around, but haven't spotted anything obvious
from working kernel 2.6.27.xx to failing kernel 2.6.28.
One minor nit did show up, though. The patch below
seems to make more sense than the code does without it.
Signed-off-by: Mark Lord <mlord@pobox.com>
--- old/drivers/usb/core/devio.c 2008-12-24 18:26:37.000000000 -0500
+++ linux/drivers/usb/core/devio.c 2009-01-02 02:44:57.000000000 -0500
@@ -1318,7 +1318,7 @@
if (__get_user(uptr, &uurb->buffer))
return -EFAULT;
kurb->buffer = compat_ptr(uptr);
- if (__get_user(uptr, &uurb->buffer))
+ if (__get_user(uptr, &uurb->usercontext))
return -EFAULT;
kurb->usercontext = compat_ptr(uptr);
next prev parent reply other threads:[~2009-01-02 7:48 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-02 6:31 libusb broken on 2.6.28 x86_64 ? Mark Lord
2009-01-02 7:01 ` Mark Lord
2009-01-02 7:24 ` Greg KH
2009-01-02 7:48 ` Mark Lord [this message]
2009-01-02 7:51 ` Mark Lord
2009-01-02 7:58 ` Greg KH
2009-01-02 8:15 ` Mark Lord
2009-01-02 8:25 ` Mark Lord
2009-01-02 8:28 ` Greg KH
2009-01-02 9:37 ` Mark Lord
2009-01-02 13:23 ` Alan Stern
2009-01-02 15:44 ` Mark Lord
[not found] <20090102082824.GA4212@suse.de.suse.lists.linux.kernel>
2009-01-02 11:43 ` Marcus Meissner
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=495DC6C8.7070501@rtr.ca \
--to=lkml@rtr.ca \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
/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