Re: PCIE based USB3.0 card: Received Master Abort when doing sync operation after copy into pendrive

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

 



On Thu, Jul 22, 2010 at 09:28:30AM +0530, Pratyush Anand wrote:
> Hi All,
> The same xhci xard works very well if I connect it to standard Desktop PC having
> same linux kernel version(2.6.32).So, I suspect there might be either problem in 
> the PCIE
> software support which I have added for my SOC in linux-2.6.32 or might be some 
> issue in HW itself.

It could be a combination of issues.  ISTR that 2.6.32 does not have
support for resetting configured USB devices.  So if your PCIe software
causes an error, and the SCSI layer tries to cancel a transfer and then
reset the device, then I think that might be the cause of your issues.

Can you try to update to 2.6.34?

Sarah Sharp

> ________________________________
> From: Pratyush Anand <anand_pratyush@xxxxxxxxxxx>
> To: Pratyush Anand <anand_pratyush@xxxxxxxxxxx>; linux-pci@xxxxxxxxxxxxxxx
> Sent: Mon, 19 July, 2010 9:04:37 PM
> Subject: Re: PCIE based USB3.0 card: Received Master Abort when doing sync 
> operation after copy into pendrive
> 
> Hi All,
> 
> When sync fails and if I break the control and analyse PCI configuration 
> register of xhci,
> 
> then I found that bit 13 of status register is set. means xhci receives Master 
> abort.
> 
> Can there be any input for its possible reason.
> Actually, I am not able to generate this condition if I debug step by step.
> 
> Regards
> Pratyush
> 
> 
> 
> ----- Original Message ----
> From: Pratyush Anand <anand_pratyush@xxxxxxxxxxx>
> To: linux-pci@xxxxxxxxxxxxxxx
> Cc: Pratyush Anand <anand_pratyush@xxxxxxxxxxx>
> Sent: Mon, 19 July, 2010 5:11:56 PM
> Subject: PCIE based USB3.0 card: Received Master Abort when doing sync operation 
> 
> 
> 
> after copy into pendrive
> 
> Hello All,
> 
> I am having a cortexa9 based microcontroler having PCIE host controller from 
> synposis.
> 
> I am using linux2.6.32. I have developed support for this host controller in my 
> linux stack.
> 
> Now, I connect a xhci based USB3.0 card (ICY BOX IB-AC604).
> It is recognized by the stack well.
> 
> When I connect a HS mass storage device , it is also well recognized.
> 
> Now if I do any transaction and do the sync operation, it fails:
> 
> # mount /dev/sda1 /mnt/
> # mkdir /mnt/test
> # sync
> 
> Regards
> pratyush
> 
> PS: please find debug messages
> 
> ----------------Debug print : xhci recognition -------------------------
> xhci_hcd 0000:00:00.0: xHCI Host Controller
> xhci_hcd 0000:00:00.0: new USB bus registered, assigned bus number 5
> xhci_hcd 0000:00:00.0: irq 376, io mem 0xc0000000
> -------------------------------------------------------------
> 
> --------------------Debug Print: USB massstorage recognition--------------
> usb 5-3: new high speed USB device using xhci_hcd and address 0
> xhci_hcd 0000:00:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:00:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:00:00.0: WARN: short transfer on control ep
> xhci_hcd 0000:00:00.0: WARN: short transfer on control ep
> usb 5-3: configuration #1 chosen from 1 choice
> scsi0 : SCSI emulation for USB Mass Storage devices
> scsi 0:0:0:0: Direct-Access    JetFlash Transcend 16GB  1100 PQ: 0 ANSI: 0 
> CCS
> sd 0:0:0:0: [sda] 31326208 512-byte logical blocks: (16.0 GB/14.9 GiB)
> sd 0:0:0:0: Attached scsi generic sg0 type 0
> sd 0:0:0:0: [sda] Write Protect is off
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sda: sda1
> sd 0:0:0:0: [sda] Assuming drive cache: write through
> sd 0:0:0:0: [sda] Attached SCSI removable disk
> ----------------------------------------------------
> 
> --------------------Debug Print: sync fail --------------
> # mount /dev/sda1 /mnt/
> # mkdir /mnt/test
> # sync
> INFO: task scsi_eh_0:507 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> scsi_eh_0    D c02c07c8    0  507      2 0x00000000
> Backtrace:
> [<c02c0528>] (schedule+0x0/0x2dc) from [<c02c0a14>] 
> (schedule_timeout+0x20/0x1b8)
> [<c02c09f4>] (schedule_timeout+0x0/0x1b8) from [<c02c03fc>] 
> (wait_for_common+0xe0/0x178)
> r7:7fffffff r6:c3a24bac r5:c38bad80 r4:c3a24bb0
> [<c02c031c>] (wait_for_common+0x0/0x178) from [<c02c0524>] 
> (wait_for_completion+0x18/0x1c)
> [<c02c050c>] (wait_for_completion+0x0/0x1c) from [<c020bdbc>] 
> (command_abort+0x94/0x9c)
> [<c020bd28>] (command_abort+0x0/0x9c) from [<c019f9bc>] 
> (__scsi_try_to_abort_cmd+0x2c/0x30)
> r7:c3a36000 r6:c3a37f84 r5:c3a24800 r4:c388fd20
> [<c019f990>] (__scsi_try_to_abort_cmd+0x0/0x30) from [<c01a13b0>] 
> (scsi_error_handler+0x12c/0x358)
> [<c01a1284>] (scsi_error_handler+0x0/0x358) from [<c0051218>] 
> (kthread+0x88/0x90)
> r7:c01a1284 r6:c3a24800 r5:c3889bb8 r4:c3a37fbc
> [<c0051190>] (kthread+0x0/0x90) from [<c003fbf8>] (do_exit+0x0/0x5c4)
> r7:00000000 r6:00000000 r5:00000000 r4:00000000
> INFO: task usb-storage:508 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> usb-storage  D c02c07c8    0  508      2 0x00000000
> Backtrace:
> [<c02c0528>] (schedule+0x0/0x2dc) from [<c02c0a14>] 
> (schedule_timeout+0x20/0x1b8)
> [<c02c09f4>] (schedule_timeout+0x0/0x1b8) from [<c02c03fc>] 
> (wait_for_common+0xe0/0x178)
> r7:7fffffff r6:c3a24b64 r5:c38b9d40 r4:c3a24b68
> [<c02c031c>] (wait_for_common+0x0/0x178) from [<c02c0524>] 
> (wait_for_completion+0x18/0x1c)
> [<c02c050c>] (wait_for_completion+0x0/0x1c) from [<c01f1d00>] 
> (usb_sg_wait+0x148/0x154)
> [<c01f1bb8>] (usb_sg_wait+0x0/0x154) from [<c020c808>] 
> (usb_stor_bulk_transfer_sglist+0xbc/0x110)
> [<c020c74c>] (usb_stor_bulk_transfer_sglist+0x0/0x110) from [<c020c88c>] 
> (usb_stor_bulk_srb+0x30/0x48)
> [<c020c85c>] (usb_stor_bulk_srb+0x0/0x48) from [<c020cdbc>] 
> (usb_stor_Bulk_transport+0x110/0x2ac)
> r4:ffc1300f
> [<c020ccac>] (usb_stor_Bulk_transport+0x0/0x2ac) from [<c020cf80>] 
> (usb_stor_invoke_transport+0x28/0x314)
> [<c020cf58>] (usb_stor_invoke_transport+0x0/0x314) from [<c020bf8c>] 
> (usb_stor_transparent_scsi_command+0x10/0x14)
> r8:00000000 r7:c020df44 r6:c3a24800 r5:c3a24abc r4:c3a31fbc
> [<c020bf7c>] (usb_stor_transparent_scsi_command+0x0/0x14) from [<c020e098>] 
> (usb_stor_control_thread+0x154/0x21c)
> [<c020df44>] (usb_stor_control_thread+0x0/0x21c) from [<c0051218>] 
> (kthread+0x88/0x90)
> r6:c3a24abc r5:c3889c10 r4:c3a31fbc
> [<c0051190>] (kthread+0x0/0x90) from [<c003fbf8>] (do_exit+0x0/0x5c4)
> r7:00000000 r6:00000000 r5:00000000 r4:00000000
> INFO: task sync:534 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> sync          D c02c07c8    0  534    504 0x00000000
> Backtrace:
> [<c02c0528>] (schedule+0x0/0x2dc) from [<c02c0948>] (io_schedule+0x44/0x70)
> [<c02c0904>] (io_schedule+0x0/0x70) from [<c0069bcc>] (sync_page+0x50/0x5c)
> r5:00000000 r4:c3a2be64
> [<c0069b7c>] (sync_page+0x0/0x5c) from [<c02c0dcc>] (__wait_on_bit+0x64/0xac)
> [<c02c0d68>] (__wait_on_bit+0x0/0xac) from [<c0069df0>] 
> (wait_on_page_bit+0x9c/0xac)
> [<c0069d54>] (wait_on_page_bit+0x0/0xac) from [<c006a294>] 
> (wait_on_page_writeback_range+0x6c/0x140)
> r7:c3403554 r6:c3a2beb0 r5:00000001 r4:c040ef60
> [<c006a228>] (wait_on_page_writeback_range+0x0/0x140) from [<c006a3a8>] 
> (filemap_fdatawait+0x40/0x44)
> [<c006a368>] (filemap_fdatawait+0x0/0x44) from [<c006aed8>] 
> (filemap_write_and_wait+0x38/0x48)
> r5:c3403554 r4:00000000
> [<c006aea0>] (filemap_write_and_wait+0x0/0x48) from [<c00bc340>] 
> (__sync_blockdev+0x34/0x38)
> r5:00000001 r4:c39fb800
> [<c00bc30c>] (__sync_blockdev+0x0/0x38) from [<c00b3d68>] 
> (__sync_filesystem+0x60/0x64)
> [<c00b3d08>] (__sync_filesystem+0x0/0x64) from [<c00b3e28>] 
> (sync_filesystems+0xbc/0x114)
> r5:c39fb840 r4:c39fb800
> [<c00b3d6c>] (sync_filesystems+0x0/0x114) from [<c00b3edc>] (sys_sync+0x24/0x44)
> r7:00000024 r6:0000bb88 r5:00000124 r4:0003bc20
> [<c00b3eb8>] (sys_sync+0x0/0x44) from [<c0028e40>] (ret_fast_syscall+0x0/0x2c)
> -------------------------------------------------------
> 
> 
> 
> --
> 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
--
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