Re: urb-buffer not written after successful stated transfer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 23, 2009 at 2:20 AM, Johannes<joh.schrimpf@xxxxxxxxx> wrote:
> Hi,
>
> I am writing an USB driver and have a problem with the bulk-IN transfer. I
> create some urbs and send them to the IN-endpoint with a buffer created by
> kmalloc. The buffer size is 64 byte, which is the same size as the packets
> which are send over the USB-connection. The status of the urb in the
> callback function is 0 and the actual_length is 64, but I figured out that
> the data in the buffer is not correct. In most packets, parts of the buffer,
> either the first 32 bytes or the second 32 bytes, still contain the
> initialization values of the buffer.
>
> I am using linux-omap3-2.6.29 on a Gumstix overo board.
>
> Do you have an idea what the problem could be?
>

For more help, include more info. A copy of your driver would really help.

The arm processor is not cache coherent. What is the cache line size?
Check your kmalloc args. Don't touch (debug print) a buffer once the
urb is submitted to the core, it will put initial data into the cpu
cache and you will not read the dma'ed data from memory after
completion. Usbmon or an analyzer will help determine that a bus
operation occurred.

Regards, Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux