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