Nov 10 19:59:25 shaun kernel: usb-storage: Command WRITE_10 (10 bytes) Nov 10 19:59:25 shaun kernel: usb-storage: 2a 00 00 01 4f 6e 00 00 1f 00 Nov 10 19:59:25 shaun kernel: usb-storage: Bulk Command S 0x43425355 T 0x131f L 63488 F 0 Trg 0 LUN 0 CL 10 Nov 10 19:59:25 shaun kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes Nov 10 19:59:25 shaun kernel: usb-storage: Status code 0; transferred 31/31 Nov 10 19:59:25 shaun kernel: usb-storage: -- transfer complete Nov 10 19:59:25 shaun kernel: usb-storage: Bulk command transfer result=0 Nov 10 19:59:25 shaun kernel: usb-storage: usb_stor_bulk_transfer_sglist: xfer 63488 bytes, 2 entries Nov 10 19:59:25 shaun kernel: usb 1-1: sg_complete, unlink --> -19
That is, the sg_complete() code was cleaning up after an error and it ran into a problem ... like maybe it was trying to unlink an urb that hadn't yet been submitted. That particular error is nothing to worry about AFAICT, unless perhaps it's masking something else. (The diagnostic suggests _something_ unexpected.)
The other thing that looks potentially interesting is that you managed to get more than the usual amount of contiguous memory. Normally I'd expect about fifteen sglist entries. A few things come to mind then:
- Individual bulk transfers over about four "pages" (16K) will kick in a mechanism in the EHCI driver that should work fine, but which doesn't get used much at all. A bug could be lurking there (qtd_fill at the top of ehci-q.c), but none jumps out at me.
- If "dvdrecord" is using the SG driver, it's also possible there's an issue with alignment. In this case, the buffers must all be aligned on 512 byte boundaries -- and have lengths that are all multiples of 512 bytes -- if the SG code is doing anything that verges on zerocopy I/O ("O_DIRECT").
Maybe you can play with "dvdrecord" options (or system load) to see if you can make it deliver smaller sglist entries, to rule out that first factor.
Nov 10 20:01:05 shaun kernel: usb-storage: command_abort called Nov 10 20:01:05 shaun kernel: usb-storage: usb_stor_stop_transport called Nov 10 20:01:05 shaun kernel: usb-storage: -- cancelling sg request
Also it seems like usb-storage decided to abort after ten seconds. That's short for the usual timeouts (maybe dvdrecord chose it), but long for recovery from the fault noted above. But it didn't say a thing about _why_ it chose to cancel ... so it's not clear to me whether the fault was reported (and if so, what was it?) but mis-handled, or whether it was instead just never reported.
- Dave
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel