Hello, I have a Teac DV-28E-N cdrom, and I've been seeing some buffer I/O errors on a heavily loaded system (uptime indicates system load of 390 or so).
Turning on USB debugging for usbcore and mass storage indicates that something is timing out (hanging?), which makes the SCSI mid-layer issue an abort, and then a bus reset. This problem occurs on 2.6.16 but seems to go away in 2.6.18. Upgrading to 2.6.18 isn't an option. I've been poking through the git logs to try and figure out what's changed between 2.6.16 and 2.6.18, and found some patches that looked promising: usb-storage-get-rid-of-timer.patch http://marc.info/?l=linux-usb-devel&m=115092809714473&w=2 usb-core-get-rid-of-timer.patch http://marc.info/?l=linux-usb-devel&m=115938791628537&w=2 But applying those didn't seem to help. If someone could point me in the right direction, either with an explanation of why my device is timing out, further instrumentation I could add to my kernel to figure out what's going on, or a patch that magically solves this problem ;), I'd really appreciate it. Log file excerpts below. Thanks. /ac Some relevant lines from /var/log/messages: -------------------------------------------------------- Vendor: TEAC Model: DV-28E-N Rev: C.6B Type: CD-ROM ANSI SCSI revision: 00 6:0:0:0: Attached scsi generic sg33 type 5 usb-storage: device scan complete sr0: scsi3-mmc drive: 24x/24x cd/rw xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.20 sr 6:0:0:0: Attached scsi CD-ROM sr0 kernel: usb 3-2: reset high speed USB device using ehci_hcd and address 3 kernel: end_request: I/O error, dev sr0, sector 428700 kernel: Buffer I/O error on device sr0, logical block 107175 -------------------------------------------------------- Output from a READ_10 timeout: -------------------------------------------------------- kernel: [ 947.760980] usb-storage: queuecommand called kernel: [ 947.761043] usb-storage: *** thread awakened. kernel: [ 947.761051] usb-storage: Command READ_10 (3500) (10 bytes) kernel: [ 947.761055] usb-storage: 28 00 00 01 b0 61 00 00 3c 00 kernel: [ 947.761085] usb-storage: Bulk Command S 0x43425355 T 0xda6 L 122880 F 128 Trg 0 LUN 0 CL 10 kernel: [ 947.761092] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes kernel: [ 947.761251] usb-storage: Status code 0; transferred 31/31 kernel: [ 947.761255] usb-storage: -- transfer complete kernel: [ 947.761260] usb-storage: Bulk command transfer result=0 kernel: [ 947.761266] usb-storage: usb_stor_bulk_transfer_sglist: xfer 122880 bytes, 4 entries kernel: [ 977.760572] usb-storage: command_abort called kernel: [ 977.760606] usb-storage: Command READ_10 (3500) (10 bytes) kernel: [ 977.760611] usb-storage: 28 00 00 01 b0 61 00 00 3c 00 kernel: [ 977.760622] usb-storage: usb_stor_stop_transport called kernel: [ 977.760625] usb-storage: -- cancelling sg request kernel: [ 980.748602] usb-storage: Status code -104; transferred 122880/122880 kernel: [ 980.748616] usb-storage: -- transfer cancelled kernel: [ 980.748629] usb-storage: Bulk data transfer result 0x4 kernel: [ 980.748633] usb-storage: -- command was aborted -------------------------------------------------------- Output from a GET EVENT/STATUS NOTIFICATION timeout: -------------------------------------------------------- kernel: [ 2886.937728] usb-storage: queuecommand called kernel: [ 2886.937733] usb-storage: *** thread awakened. kernel: [ 2886.937738] usb-storage: Command GET EVENT/STATUS NOTIFICATION (11232) (10 bytes) kernel: [ 2886.937741] usb-storage: 4a 01 00 00 10 00 00 00 08 00 kernel: [ 2886.937750] usb-storage: Bulk Command S 0x43425355 T 0x2bf9 L 8 F 128 Trg 0 LUN 0 CL 10 kernel: [ 2886.937764] usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes kernel: [ 2886.937838] usb-storage: Status code 0; transferred 31/31 kernel: [ 2886.937841] usb-storage: -- transfer complete kernel: [ 2886.937844] usb-storage: Bulk command transfer result=0 kernel: [ 2886.937847] usb-storage: usb_stor_bulk_transfer_sglist: xfer 8 bytes, 1 entries kernel: [ 2891.936002] usb-storage: command_abort called kernel: [ 2891.936031] usb-storage: Command GET EVENT/STATUS NOTIFICATION (11232) (10 bytes) kernel: [ 2891.936034] usb-storage: 4a 01 00 00 10 00 00 00 08 00 kernel: [ 2891.936045] usb-storage: usb_stor_stop_transport called kernel: [ 2891.936049] usb-storage: -- cancelling sg request kernel: [ 2895.471986] usb-storage: Status code -104; transferred 8/8 kernel: [ 2895.472002] usb-storage: -- transfer cancelled kernel: [ 2895.472009] usb-storage: Bulk data transfer result 0x4 kernel: [ 2895.472016] usb-storage: -- command was aborted -------------------------------------------------------- ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel