public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: 2.5.61/usb: ioctl control transfer
@ 2003-02-15 22:01 Andreas Jellinghaus
  2003-02-15 23:42 ` Murray J. Root
  0 siblings, 1 reply; 2+ messages in thread
From: Andreas Jellinghaus @ 2003-02-15 22:01 UTC (permalink / raw)
  To: linux-kernel

I'm using the devfs from a userspace application.
the ioctl USBDEVFS_CONTROL is supposed to return
the number of bytes actualy read from a control
transfer.

but the return code i get is always what i specified
as length of the buffer.

since i'm using the same usb control transfers
as the windows drivers and get the same result
back (but return code is always wLength),
i wonder if there is a bug in the kernel. Anyone
has similiar problems?

Regards, Andreas
(userspace code ...)
        syslog(LOG_DEBUG, "usb xmit %02hx %02hx %02hx %02hx 00 00 %02hx %02hx\n"
,
                type, req, value >> 8, value&0xff, size >> 8, size &
0xff);

        if (! (type & 0x80)) debug_hexdump("Sending:", buf, size);

        rc = ioctl(fd, USBDEVFS_CONTROL, &ctrl);
        if (rc == -1) {
                syslog(LOG_ERR, "usb ioctl control transfer failed:%s\n",
                       strerror(errno));
        }
        syslog(LOG_DEBUG, "ioctl rc %hx size %hx length %hx",
                        rc, size, ctrl.length);
        if (type & 0x80) debug_hexdump("Received:", buf, size);



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: 2.5.61/usb: ioctl control transfer
  2003-02-15 22:01 2.5.61/usb: ioctl control transfer Andreas Jellinghaus
@ 2003-02-15 23:42 ` Murray J. Root
  0 siblings, 0 replies; 2+ messages in thread
From: Murray J. Root @ 2003-02-15 23:42 UTC (permalink / raw)
  To: linux-kernel

On Sat, Feb 15, 2003 at 11:01:22PM +0100, Andreas Jellinghaus wrote:
> I'm using the devfs from a userspace application.
> the ioctl USBDEVFS_CONTROL is supposed to return
> the number of bytes actualy read from a control
> transfer.
> 
> but the return code i get is always what i specified
> as length of the buffer.
> 
> since i'm using the same usb control transfers
> as the windows drivers and get the same result
> back (but return code is always wLength),
> i wonder if there is a bug in the kernel. Anyone
> has similiar problems?
> 
> Regards, Andreas
> (userspace code ...)
>         syslog(LOG_DEBUG, "usb xmit %02hx %02hx %02hx %02hx 00 00 %02hx %02hx\n"
> ,
>                 type, req, value >> 8, value&0xff, size >> 8, size &
> 0xff);
> 
>         if (! (type & 0x80)) debug_hexdump("Sending:", buf, size);
> 
>         rc = ioctl(fd, USBDEVFS_CONTROL, &ctrl);
>         if (rc == -1) {
>                 syslog(LOG_ERR, "usb ioctl control transfer failed:%s\n",
>                        strerror(errno));
>         }
>         syslog(LOG_DEBUG, "ioctl rc %hx size %hx length %hx",
>                         rc, size, ctrl.length);
>         if (type & 0x80) debug_hexdump("Received:", buf, size);
> 
> 

I seem to be seeing the same thing with USB-storage devices - usb-storage
sees an error because it got back the same value it sent.
It makes mounting usb-storage devices take a LONG time as each send is
followed by a device reset since the returned value is unexpected.

-- 
Murray J. Root


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-02-15 23:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-15 22:01 2.5.61/usb: ioctl control transfer Andreas Jellinghaus
2003-02-15 23:42 ` Murray J. Root

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox