[#4210] isp1362-hcd BUG_ON crash on simultaneous USB ports transfer
Submitted By: Roman D
Open Date
2008-07-02 00:34:07 Close Date
2008-07-08 07:45:30
Priority:
Medium Assignee:
Bryan Wu
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
Drivers Board:
Custom
Processor:
N/A Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Rejected
Uboot version or rev.:
Toolchain version or rev.:
App binary format:
N/A
Summary: isp1362-hcd BUG_ON crash on simultaneous USB ports transfer
Details:
isp1362-hcd driver is consistently crashing with a BUG_ON check if two USB devices are active on both USB ports. Crash is reproducible any time both devices (ex. 2 USB flash drives) simultaneously transferring data or during USB setup stage. The easiest way to reproduce:
1. Connect and mount a USD flash drive with one of the 1362's USB ports.
2. Start a large transfer involving mounted flash drive, for example:
dd if=/dev/zero of=/mnt/usbdrive/test bs=20M count=1
3. While the above transfer is in progress, plug another USB flash drive in the second 1362's USB port.
4. Wait for the crash; try again if not immediately reproducible.
Below is the tail of a debug trace for the crash:
----------------------------------------------------------------
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/23296 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30be500
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/22336 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30be8c0
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/21376 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bec80
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/20416 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bf040
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/19456 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bf400
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/18496 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bf7c0
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/17536 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bfb80
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/16576 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30bff40
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/15616 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c0300
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/14656 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c06c0
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/13696 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c0a80
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/12736 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c0e40
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/11776 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c1200
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/10816 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c15c0
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/9856 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c1980
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/8896 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c1d40
isp1362_urb_enqueue: urb c7510420
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 32 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
start_atl_transfers: Processing ATL ep c6dfb560 req 153
prepare_ptd: ATL ep c6dfb560
prepare_ptd: OUT len 960/64/7936 from URB
prepare_ptd: Finished
claim_ptd_buffers: Found 14 PTDs[0] for 960/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 18 count 32 claimed 14 00003fff:ffffffff
submit_req: ep c6dfb560 req 153 len 960 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb560 req 153
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb568
isp1362_write_buffer: Writing 960 byte to buffer @0688 from memory @ c30c2100
isp1362_urb_enqueue: Adding ep c6dfb6e0 req 154 to async schedule
start_atl_transfers: Skipping active ATL ep c6dfb560
start_atl_transfers: Processing ATL ep c6dfb6e0 req 154
prepare_ptd: ATL ep c6dfb6e0
prepare_ptd: SETUP len 8
prepare_ptd: Finished
claim_ptd_buffers: Found 1 PTDs[0] for 8/64 byte
get_ptd_offset: ATL PTD[00] # 0680
claim_ptd_buffers: Done ATL PTD[0] $0680, avail 17 count 32 claimed 1 00003fff:fffffffe
submit_req: ep c6dfb6e0 req 154 len 8 added to active list c7448168
submit_req: Submitting ATL PTD $0680 for ep c6dfb6e0 req 154
isp1362_write_buffer: Writing 8 byte to buffer @0680 from memory @ c6dfb6e8
isp1362_write_buffer: Writing 8 byte to buffer @0688 from memory @ c052c400
start_atl_transfers: Cycling ASYNC schedule 1
start_atl_transfers: max_ptds: 2
isp1362_irq: got IRQ 0141:0130
isp1362_irq: ATL
isp1362_irq: ATL done_map 00000001
finish_transfers: Finishing ATL transfers 00000001
finish_transfers: Checking ATL PTD[00] $0680
isp1362_read_ptd: ep c6dfb560 removed from active list c7448168
isp1362_read_buffer: Reading 8 byte from buffer @0680 to memory @ c6dfb568
release_ptd_buffers: Done ATL PTDs $0680 released 14 avail 31 count 32
release_ptd_buffers: buf_map 00000000 skip_map ffffffff
finish_transfers: ep c6dfb560 req 153 removed from active list
finish_transfers: Postprocessing ATL ep c6dfb560 req 153
postproc_ep: ep c6dfb560 req 153
postproc_ep: count=8 len=960
------------[ cut here ]------------
Kernel BUG at c017c390 [verbose debug info unavailable]
Oops: Exception in kernel mode, sig: 5 [#1]
NIP: c017c390 LR: c017c378 CTR: c01390fc
REGS: c6c25b90 TRAP: 0700 Tainted: P (2.6.24.5)
MSR: 00021030 <ME,IR,DR> CR: 22000022 XER: 00000000
TASK = c74380b0[1706] 'usb-stor-scan' THREAD: c6c24000
GPR00: 00000001 c6c25c40 c74380b0 00000020 00000001 00000001 00000000 c0300000
GPR08: c034eeb4 c031ccc4 0005f404 000003c0 000186a0 70000000 07fe1900 00000098
GPR16: 00000000 00000001 00029030 00000000 c6df9434 c7448000 c74480c0 c6dfb6e0
GPR24: c74480c0 ffffff8d 00001f00 c6f14800 c02a88b8 c6dfb568 c7510320 c6dfb560
Call Trace:
[c6c25c40] [c017c378] (unreliable)
[c6c25c70] [c017c9dc]
[c6c25cc0] [c017d63c]
[c6c25d10] [c016d824]
[c6c25d20] [c0041364]
[c6c25d40] [c0041454]
[c6c25d60] [c0007648]
[c6c25d70] [c0003278]
[c6c25e30] [c017f14c]
[c6c25e70] [c016e08c]
[c6c25f20] [c016e7f8]
[c6c25f40] [c93d8d28]
[c6c25f70] [c93d8e60]
[c6c25f80] [c93d912c]
[c6c25fa0] [c93da144]
[c6c25fd0] [c0034468]
[c6c25ff0] [c0004c50]
Instruction dump:
419e0018 3c60c02d 3c80c02b 38631e7c 388488b8 4bea40f5 a01d0000 a17f0016
540005be 7c005a78 7c0000d0 54000ffe <0f000000> 801e0048 813e0044 7c005a14
Kernel panic - not syncing: Aiee, killing interrupt handler!
Rebooting in 3 seconds..<NULL>
----------------------------------------------------------------
Crash occurs in the following lines:
if (PTD_GET_COUNT(ptd) != ep->length) {
ERR("%s: count=%d len=%d\n", __FUNCTION__,
PTD_GET_COUNT(ptd), ep->length);
}
BUG_ON(PTD_GET_COUNT(ptd) != ep->length);
Regards,
Roman
Follow-ups
--- Bryan Wu 2008-07-08 04:09:31
Hi Roman,
What's your hardware platform? we don't have the hardware to reproduce it.
-Bryan
--- Robin Getz 2008-07-08 08:45:29
Roman:
It looks like that crash dump was from a PowerPC?
Sorry - we can't help with that. The best thought is to try NXP - who wrote the
driver, or Freescale - who support PPC.
--- Roman D 2008-07-08 19:23:35
Bryan, Robin,
Yes, the platform is PPC but with all due respect I do not believe the driver
in question is written by NXP. The one by NPX is not GPL and supports
isochronous transfers, see this plus many other comments around the net:
ozlabs.org/pipermail/linuxppc-embedded/2005-June/018892.html
I filed the bug here because
(1) ISP1362 driver in question appears to be unique to Blackfin project
(2) The bug reported does not appear to be platform specific with the only
pre-requisite having both USB ports wired on the chip.
--- Mike Frysinger 2008-07-15 02:30:44
as you say, you're using a PPC ... we support the Blackfin processor here and no
other hardware. if you're having troubles on a PPC platform, you'll have to
seek assistance elsewhere. sorry.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found