On Sat, 30 Jun 2007 08:46:32 -0700 (PDT) [EMAIL PROTECTED] wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=8692 > > Summary: USB storage freeze > Product: IO/Storage > Version: 2.5 > KernelVersion: 2.6.21 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Other > AssignedTo: [EMAIL PROTECTED] > ReportedBy: [EMAIL PROTECTED] > > > Most recent kernel where this bug did not occur: unknown > Distribution: Debian/sid > Hardware Environment: AMD 64 X2, external 200GB USB disk (Prolific Technology > Inc) > Software Environment: 2.6.21 #3 SMP Sat Jun 30 16:30:03 CEST 2007 x86_64 > GNU/Linux > Problem Description: > > When doing file transfer, USB storage freezes randomly. It's possible that my > USB drive is low quality hardware, but this shouldn't freeze the USB bus. > > At this point, all I/O to USB are blocked: > - I can mount another USB disk > - sync blocks > - reboot blocks > - only reset button works to unlock the disks. > > I've seen this problem also on Debian's kernel 2.6.18 > > I've reproduced it on a vanilla kernel (built with make-kpkg) with usb debug > enabled. (traces are below) > > > Steps to reproduce: > > A simple cp of a multi GB file is often enough. (note that my disk if 90% > full) > > You can also run find <usb-drive> -type f -exec md5sum {} \; > > Traces: > Jun 30 17:21:30 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:21:30 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:21:30 gandalf kernel: usb-storage: Command WRITE_10 (10 bytes) > Jun 30 17:21:30 gandalf kernel: usb-storage: 2a 00 0c d9 01 87 00 00 f0 00 > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T > 0x4297 > L 122880 F 0 Trg 0 LUN 0 CL 10 > Jun 30 17:21:30 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:21:30 gandalf kernel: usb-storage: Status code 0; transferred 31/31 > Jun 30 17:21:30 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk command transfer result=0 > Jun 30 17:21:30 gandalf kernel: usb-storage: usb_stor_bulk_transfer_sglist: > xfer 122880 bytes, 17 entries > Jun 30 17:21:30 gandalf kernel: usb-storage: Status code 0; transferred > 122880/122880 > Jun 30 17:21:30 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk data transfer result 0x0 > Jun 30 17:21:30 gandalf kernel: usb-storage: Attempting to get CSW... > Jun 30 17:21:30 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 13 bytes > Jun 30 17:21:30 gandalf kernel: usb-storage: Status code 0; transferred 13/13 > Jun 30 17:21:30 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk status result = 0 > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk Status S 0x53425355 T 0x4297 > R 0 Stat 0x0 > Jun 30 17:21:30 gandalf kernel: usb-storage: scsi cmd done, result=0x0 > Jun 30 17:21:30 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:21:30 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:21:30 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:21:30 gandalf kernel: usb-storage: Command WRITE_10 (10 bytes) > Jun 30 17:21:30 gandalf kernel: usb-storage: 2a 00 0c d9 02 77 00 00 f0 00 > Jun 30 17:21:30 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T > 0x4298 > L 122880 F 0 Trg 0 LUN 0 CL 10 > Jun 30 17:21:30 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:22:00 gandalf kernel: usb-storage: command_abort called > Jun 30 17:22:00 gandalf kernel: usb-storage: usb_stor_stop_transport called > Jun 30 17:22:00 gandalf kernel: usb-storage: -- cancelling URB > > At this point the external disk is frozen. > > Then I've powered on another USB disk: > > Jun 30 17:24:34 gandalf kernel: hub 6-0:1.0: state 7 ports 10 chg 0000 evt > 0008 > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: GetStatus port 3 status > 001803 POWER sig=j CSC CONNECT > Jun 30 17:24:34 gandalf kernel: hub 6-0:1.0: port 3, status 0501, change 0001, > 480 Mb/s > Jun 30 17:24:34 gandalf kernel: hub 6-0:1.0: debounce: port 3: total 100ms > stable 100ms status 0x501 > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: port 3 high speed > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: GetStatus port 3 status > 001005 POWER sig=se0 PE CONNECT > Jun 30 17:24:34 gandalf kernel: usb 6-3: new high speed USB device using > ehci_hcd and address 3 > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: port 3 high speed > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: GetStatus port 3 status > 001005 POWER sig=se0 PE CONNECT > Jun 30 17:24:34 gandalf kernel: ehci_hcd 0000:00:13.5: qh ffff81003d90d280 > (#00) state 4 > Jun 30 17:24:34 gandalf kernel: usb 6-3: default language 0x0409 > Jun 30 17:24:34 gandalf kernel: usb 6-3: new device strings: Mfr=1, Product=2, > SerialNumber=3 > Jun 30 17:24:34 gandalf kernel: usb 6-3: Product: Mass Storage Device > Jun 30 17:24:34 gandalf kernel: usb 6-3: Manufacturer: Prolific Technology > Inc. > Jun 30 17:24:34 gandalf kernel: usb 6-3: SerialNumber: 0 > Jun 30 17:24:34 gandalf kernel: usb 6-3: uevent > Jun 30 17:24:34 gandalf kernel: usb 6-3: usb_probe_device > Jun 30 17:24:34 gandalf kernel: usb 6-3: configuration #1 chosen from 1 choice > Jun 30 17:24:34 gandalf kernel: usb 6-3: adding 6-3:1.0 (config #1, interface > 0) > Jun 30 17:24:34 gandalf kernel: usb 6-3:1.0: uevent > Jun 30 17:24:34 gandalf kernel: usb-storage 6-3:1.0: usb_probe_interface > Jun 30 17:24:34 gandalf kernel: usb-storage 6-3:1.0: usb_probe_interface - got > id > Jun 30 17:24:34 gandalf kernel: usb-storage: USB Mass Storage device detected > Jun 30 17:24:34 gandalf kernel: usb-storage: -- associate_dev > Jun 30 17:24:34 gandalf kernel: usb-storage: Vendor: 0x067b, Product: 0x2507, > Revision: 0x0100 > Jun 30 17:24:34 gandalf kernel: usb-storage: Interface Subclass: 0x06, > Protocol: 0x50 > Jun 30 17:24:34 gandalf kernel: usb-storage: Transport: Bulk > Jun 30 17:24:34 gandalf kernel: usb-storage: Protocol: Transparent SCSI > Jun 30 17:24:34 gandalf kernel: scsi6 : SCSI emulation for USB Mass Storage > devices > Jun 30 17:24:34 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:34 gandalf kernel: drivers/usb/core/inode.c: creating file '003' > Jun 30 17:24:34 gandalf kernel: usb-storage: device found at 3 > Jun 30 17:24:34 gandalf kernel: usb-storage: waiting for device to settle > before scanning > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_control_msg: rq=fe > rqtype=a1 value=0000 index=00 len=1 > Jun 30 17:24:39 gandalf kernel: usb-storage: GetMaxLUN command result is 1, > data is 0 > Jun 30 17:24:39 gandalf kernel: usb-storage: device scan complete > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Command INQUIRY (6 bytes) > Jun 30 17:24:39 gandalf kernel: usb-storage: 12 00 00 00 24 00 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T 0x1 L > 36 F 128 Trg 0 LUN 0 CL 6 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 31/31 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk command transfer result=0 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_sglist: > xfer 36 bytes, 1 entries > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 36/36 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk data transfer result 0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Attempting to get CSW... > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 13 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 13/13 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk status result = 0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Status S 0x53425355 T 0x1 R > 0 > Stat 0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: scsi 6:0:0:0: Direct-Access ST316002 3A > > 3.06 PQ: 0 ANSI: 0 > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad LUN (0:1) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (1:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (2:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (3:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (4:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (5:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (6:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Bad target number (7:0) > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x40000 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Command TEST_UNIT_READY (6 bytes) > Jun 30 17:24:39 gandalf kernel: usb-storage: 00 00 00 00 00 00 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T 0x2 L > 0 F 0 Trg 0 LUN 0 CL 6 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 31/31 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk command transfer result=0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Attempting to get CSW... > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 13 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 13/13 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk status result = 0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Status S 0x53425355 T 0x2 R > 0 > Stat 0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Command READ_CAPACITY (10 bytes) > Jun 30 17:24:39 gandalf kernel: usb-storage: 25 00 00 00 00 00 00 00 00 00 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T 0x3 L > 8 F 128 Trg 0 LUN 0 CL 10 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 31/31 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk data transfer result 0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Attempting to get CSW... > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 13 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 13/13 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk status result = 0 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Status S 0x53425355 T 0x3 R > 0 > Stat 0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: scsi cmd done, result=0x0 > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread sleeping. > Jun 30 17:24:39 gandalf kernel: SCSI device sde: 312581807 512-byte hdwr > sectors (160042 MB) > Jun 30 17:24:39 gandalf kernel: usb-storage: queuecommand called > Jun 30 17:24:39 gandalf kernel: usb-storage: *** thread awakened. > Jun 30 17:24:39 gandalf kernel: usb-storage: Command MODE_SENSE (6 bytes) > Jun 30 17:24:39 gandalf kernel: usb-storage: 1a 00 3f 00 c0 00 > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk Command S 0x43425355 T 0x4 L > 192 F 128 Trg 0 LUN 0 CL 6 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 31 bytes > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code 0; transferred 31/31 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- transfer complete > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk command transfer result=0 > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_sglist: > xfer 192 bytes, 1 entries > Jun 30 17:24:39 gandalf kernel: usb-storage: Status code -121; transferred > 4/192 > Jun 30 17:24:39 gandalf kernel: usb-storage: -- short read transfer > Jun 30 17:24:39 gandalf kernel: usb-storage: Bulk data transfer result 0x1 > Jun 30 17:24:39 gandalf kernel: usb-storage: Attempting to get CSW... > Jun 30 17:24:39 gandalf kernel: usb-storage: usb_stor_bulk_transfer_buf: xfer > 13 bytes > Jun 30 17:25:09 gandalf kernel: usb-storage: command_abort called > Jun 30 17:25:09 gandalf kernel: usb-storage: usb_stor_stop_transport called > Jun 30 17:25:09 gandalf kernel: usb-storage: -- cancelling URB > > Then the second USB disk does not show up in /dev/disk. > > Feel free to contact me if you need more informations. > > Thanks > > > -- > Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email > ------- You are receiving this mail because: ------- > You are on the CC list for the bug, or are watching someone who is.
------------------------------------------------------------------------- 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