On Wed, 27 May 2009, Warren, Dean wrote: > OK cheers Alan. > > Please note there was a typo in my original post: it's not possible > for the function oxu210hp-hcd.c::qh_urb_transaction() to return NULL > and 'not call cleanup' unless ehci_qtd_alloc() fails and it doesn't. > :( It's been a long day! > > So oxu210hp-hcd.c::__oxu_urb_enqueue() calls > oxu210hp-hcd.c::qh_urb_transaction() at line 1358 which fails with 0 > because as you stated oxu210hp-hcd.c::oxu_buf_alloc() is failing and > returning ENOMEM (the last ENOMEM in the function). > > Looking at the source this is because a 'suitable available data > buffer' can not be found. Why might this be? Shouldn't you be directing these questions to the author or maintainer of the oxu210hp driver in addition to posting them on a general-purpose mailing list? The reason for that last -ENOMEM is explained in the comments preceding the function. There is only a limited amount of memory available on the chip, and evidently it isn't enough for your driver. Alan Stern -- 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