On Tue, 22 Feb 2005, Parag Warudkar wrote:

> Alan,
> See below for stack traces and also note that the stack traces are after I 
> modified usb_device_read to do down_interruptible instead of down. (kudzu 
> gets stuck regardless though.) Let me know if you want me to revert the 
> down_interruptible change and repost the stack trace.
> 
> I wrongly related this to the 2 minute hang - this one is forever if I let 
> kudzu start during boot. If I run kudzu after boot is complete, it gets stuck 
> and everything else on that drive (mount, unmount ..) also gets stuck. Sorry 
> about the confusion.

Well, this problem looks like something for which a patch was submitted 
about a week ago.  Try applying

http://marc.theaimsgroup.com/?l=linux-usb-devel&m=110859441830485&w=2

and see if it helps.  This doesn't bring us any closer to understanding 
the 2-minute delay, though.

> Attached is the disassembly of usb_device_read from my machine.

I hope it doesn't become necessary to decode that!

Alan Stern

> Parag
> 
> SysRQ + T for relevant processes
> ======================
> hald          D 00000020e12be31a     0  2558      1          3272  2545 
> (NOTLB)
> ffff81002c76fb48 0000000000000082 ffff81002c76fb28 ffffffff88515044
>        000000862c76fb08 ffff81002eb10800 0000000000000249 ffff810001c56030
>        ffff81002c76fc08 0000000000000002
> Call Trace:
> <ffffffff88515044>{:scsi_mod:scsi_request_fn+2356}
>        <ffffffff80385f0f>{io_schedule+15} <ffffffff801698d6>{sync_page+70}
>        <ffffffff80386295>{__wait_on_bit_lock+69} 
> <ffffffff80169890>{sync_page+0}
>        <ffffffff8016a1b7>{__lock_page+167} 
> <ffffffff8015c860>{wake_bit_function+0}
>        <ffffffff8015c860>{wake_bit_function+0} 
> <ffffffff8016aed4>{do_generic_mapping_read+660}
>        <ffffffff8016b1f0>{file_read_actor+0} 
> <ffffffff8016d1d4>{__generic_file_aio_read+420}
>        <ffffffff8016d39b>{generic_file_read+187} 
> <ffffffff8015c820>{autoremove_wake_function+0}
>        <ffffffff80186150>{do_brk+720} <ffffffff801998d1>{vfs_read+225}
>        <ffffffff80199bd0>{sys_read+80} <ffffffff8010ed1e>{system_call+126}
> 
>  scsi_eh_2     D 00000000ffffffff     0  3581      1          3582  3277 
> (L-TLB)
>  ffff81002bdc1d88 0000000000000046 00000000000001e3 ffff81002bed8800
>         ffff81002bdc1d48 ffff81002c25a800 0000000000000812 ffffffff803df080
>         ffff81002bdc1ed0 ffff81002c25a800
>  Call Trace:
>  <ffffffff803846d5>{wait_for_completion+437} 
> <ffffffff80133e30>{default_wake_function+0}
>         <ffffffff80133e30>{default_wake_function+0} 
> <ffffffff88535be3>{:usb_storage:usb_stor_stop_transport+35}
>         <ffffffff88534250>{:usb_storage:command_abort+256}
>         <ffffffff88511f9c>{:scsi_mod:scsi_error_handler+2172}
>         <ffffffff8010f7ef>{child_rip+8} 
> <ffffffff88511720>{:scsi_mod:scsi_error_handler+0}
>         <ffffffff8010f7e7>{child_rip+0}
>  usb-storage   D 00000000ffffffff     0  3582      1          3627  3581 
> (L-TLB)
>  ffff81002b8e1c08 0000000000000046 ffff81002b9e1000 0000000000000010
>         000000762b8e1c98 ffff81002bed8800 00000000000003dd ffff81002eb10800
>         00000000c0040280 000000000000001f
>  Call Trace:
>  <ffffffff803846d5>{wait_for_completion+437} 
> <ffffffff803843e1>{thread_return+253}
>         <ffffffff80133e30>{default_wake_function+0} 
> <ffffffff80133e30>{default_wake_function+0}
>         <ffffffff88535166>{:usb_storage:usb_stor_msg_common+550}
>         <ffffffff80120426>{dma_unmap_sg+134} 
> <ffffffff8853570f>{:usb_storage:usb_stor_bulk_transfer_buf+143}
>         <ffffffff88535f8b>{:usb_storage:usb_stor_Bulk_transport+203}
>         <ffffffff885358eb>{:usb_storage:usb_stor_invoke_transport+59}
>         <ffffffff88534dfb>{:usb_storage:usb_stor_transparent_scsi_command+27}
>         <ffffffff88536974>{:usb_storage:usb_stor_control_thread+756}
>         <ffffffff801337c3>{finish_task_switch+195} 
> <ffffffff8010f7ef>{child_rip+8}
>         <ffffffff88536680>{:usb_storage:usb_stor_control_thread+0}
>         <ffffffff8010f7e7>{child_rip+0}
> 
>  scsi_eh_3     S 00000000ffffffff     0  3627      1          3634  3582 
> (L-TLB)
>  ffff81002bd47d68 0000000000000046 ffff81002bd47d28 ffffffff80219b32
>         000000742bc387c0 ffff81002bc387c0 0000000000000226 ffff81002b9fc030
>         ffff81002bd47d48 ffffffff80147ab1
>  Call Trace:
>  <ffffffff80219b32>{_atomic_dec_and_lock+290} <ffffffff80147ab1>{free_uid+33}
>         <ffffffff80383bd6>{__down_interruptible+486} 
> <ffffffff80133e30>{default_wake_function+0}
>         <ffffffff80386928>{__down_failed_interruptible+53}
>         <ffffffff88512a75>{:scsi_mod:.text.lock.scsi_error+45}
>         <ffffffff8010f7ef>{child_rip+8} 
> <ffffffff88511720>{:scsi_mod:scsi_error_handler+0}
>         <ffffffff8010f7e7>{child_rip+0}
>  usb-storage   S 00000020f04e3d81     0  3634      1                3627 
> (L-TLB)
>  ffff81002bc53df8 0000000000000046 ffff81002bc53d80 0000000000001000
>         000000732b9eba7c ffff81002b9fc030 00000000000005ad ffff81002ebc9800
>         ffff81002bc53de8 ffffffff8853570f
>  Call Trace:
>  <ffffffff8853570f>{:usb_storage:usb_stor_bulk_transfer_buf+143}
>         <ffffffff80383bd6>{__down_interruptible+486} 
> <ffffffff80133e30>{default_wake_function+0}
>         <ffffffff80386928>{__down_failed_interruptible+53}
>         <ffffffff88537bb8>{:usb_storage:.text.lock.usb+5} 
> <ffffffff801337c3>{finish_task_switch+195}
>         <ffffffff8010f7ef>{child_rip+8} 
> <ffffffff88536680>{:usb_storage:usb_stor_control_thread+0}
>        <ffffffff8010f7e7>{child_rip+0}
> 
> khubd         S 0000001ddd381da1     0   125      1           182     9 
> (L-TLB)
> ffff810001ecbe18 0000000000000046 0000000000000246 ffff81002ba2c400
>        0000007401ecbdd8 ffff810001e9a800 0000000000003023 ffff81002bed8070
>        ffff810001ecbe18 ffffffff8015c4c9
> Call Trace:
> <ffffffff8015c4c9>{prepare_to_wait+345} <ffffffff802e0216>{hub_thread+4118}
>        <ffffffff8016f0cf>{free_pages_bulk+1007} 
> <ffffffff8015c820>{autoremove_wake_function+0}
>        <ffffffff8015c820>{autoremove_wake_function+0} 
> <ffffffff8010f7ef>{child_rip+8}
>        <ffffffff802df200>{hub_thread+0} <ffffffff8010f7e7>{child_rip+0}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to