Alan, Thanks.I know the reason why the two irq functions are triggered at the same time. Below is dmesg result. I insert a USB mouse and USB disk to the ports. And the delay posision for ohci_irq() is : ints = ohci_readl(ohci, ®s->intrstatus); + udelay(100); When the mouse is hang, the ohci_irq() has no response. Thanks, Frank ------------------------------------------------------------------------ - Linux version 2.6.27.1-amd-hiddebug (frankr@xxxxxxxxxxxxxxxxxxxxx) (gcc version 3.4.6) #38 Tue Dec 22 16:45:14 CST 2009 busclock=66000000, cpuclock=800020000,memsize=256,highmemsize=256 console [early0] enabled CPU revision is: 00006303 (ICT Loongson-2) FPU revision is: 00000501 Checking for the multiply/shift bug... no. Checking for the daddiu bug... no. Determined physical RAM map: memory: 0000000010000000 @ 0000000000000000 (usable) memory: 0000000010000000 @ 0000000090000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00000000 -> 0x00028000 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x00000000 -> 0x00004000 0: 0x00024000 -> 0x00028000 On node 0 totalpages: 32768 free_area_init_node: node 0, pgdat ffffffff80679da0, node_mem_map 9800000001000000 Normal zone: 32208 pages, LIFO batch:7 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32208 Kernel command line: console=ttyS0,115200 quiet root=/dev/hda1 video=sisfb:1024x768 Primary instruction cache 64kB, VIPT, direct mapped, linesize 32 bytes. Primary data cache 64kB, 4-way, VIPT, no aliases, linesize 32 bytes Unified secondary cache 512kB 4-way, linesize 32 bytes. PID hash table entries: 2048 (order: 11, 16384 bytes) Console: colour dummy device 80x25 Dentry cache hash table entries: 65536 (order: 5, 524288 bytes) Inode-cache hash table entries: 32768 (order: 4, 262144 bytes) Memory: 506512k/524288k available (3633k kernel code, 17040k reserved, 992k data, 272k init, 0k highmem) Calibrating delay loop... 530.43 BogoMIPS (lpj=1060864) Security Framework initialized SELinux: Disabled at boot. Mount-cache hash table entries: 1024 Checking for the daddi bug... no. net_namespace: 1440 bytes NET: Registered protocol family 16 PCI: 0000:00:06.0 reg 10 io port: [b100, b1ff] PCI: 0000:00:06.0 reg 14 32bit mmio: [4075000, 40750ff] PCI: 0000:00:06.0 reg 30 32bit mmio: [4040000, 405ffff] pci 0000:00:06.0: supports D1 pci 0000:00:06.0: supports D2 pci 0000:00:06.0: PME# supported from D1 D2 D3hot pci 0000:00:06.0: PME# disabled PCI: 0000:00:08.0 reg 10 32bit mmio: [40000000, 4fffffff] PCI: 0000:00:08.0 reg 14 32bit mmio: [4000000, 403ffff] PCI: 0000:00:08.0 reg 18 io port: [b300, b37f] PCI: 0000:00:08.0 reg 30 32bit mmio: [4060000, 406ffff] pci 0000:00:08.0: supports D1 pci 0000:00:08.0: supports D2 PCI: 0000:00:0e.0 reg 10 io port: [b410, b417] PCI: 0000:00:0e.0 reg 14 io port: [b000, b0ff] PCI: 0000:00:0e.0 reg 18 io port: [b380, b3bf] PCI: 0000:00:0e.0 reg 20 io port: [b280, b2ff] PCI: 0000:00:0e.0 reg 24 io port: [b3c0, b3df] PCI: 0000:00:0e.2 reg 20 io port: [b400, b40f] PCI: 0000:00:0e.3 reg 10 io port: [b200, b27f] cs5536 acc latency 0 PCI: 0000:00:0e.4 reg 10 32bit mmio: [4074000, 4074fff] PCI: 0000:00:0e.5 reg 10 32bit mmio: [4073000, 4073fff] PCI: 0000:00:0e.6 reg 10 32bit mmio: [4070000, 4071fff] PCI: 0000:00:0e.7 reg 10 32bit mmio: [4072000, 4072fff] bus: 00 index 0 io port: [4000, ffff] bus: 00 index 1 mmio: [50000000, 7fffffff] slot: 6, pin: 1, irq: 36 slot: 8, pin: 1, irq: 38 NET: Registered protocol family 8 NET: Registered protocol family 20 NET: Registered protocol family 2 IP route cache hash table entries: 4096 (order: 1, 32768 bytes) TCP established hash table entries: 16384 (order: 4, 262144 bytes) TCP bind hash table entries: 16384 (order: 3, 131072 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered NET: Registered protocol family 1 cpufreq: Loongson-2F CPU frequency driver. audit: initializing netlink socket (disabled) type=2000 audit(1261977449.192:1): initialized VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 2048 (order 0, 16384 bytes) msgmni has been set to 990 io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) sisfb: Video ROM not found sisfb: Video RAM at 0x50000000, mapped to 0x9000000050000000, size 32768k sisfb: MMIO at 0x60000000, mapped to 0x9000000060000000, size 256k sisfb: Memory heap starting at 32160K, size 32K sisfb: Detected SiS301C video bridge sisfb: CRT1 DDC supported sisfb: CRT1 DDC level: 2 sisfb: Monitor range H 30-83KHz, V 56-76Hz, Max. dotclock 160MHz sisfb: Default mode is 1024x768x8 (60Hz) sisfb: Initial vbflags 0x10000020 Console: switching to colour frame buffer device 128x48 sisfb: 2D acceleration is enabled, y-panning enabled (auto-max) fb0: SiS 315PRO frame buffer device version 1.8.9 sisfb: Copyright (C) 2001-2005 Thomas Winischhofer rtc: SRM (post-2000) epoch (2000) detected Real Time Clock Driver v1.12ac Serial: 8250/16550 driver4 ports, IRQ sharing enabled serial8250.0: ttyS0 at I/O 0x2f8 (irq = 3) is a 16550A console handover: boot [early0] -> real [ttyS0] brd: module loaded r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded eth0: RTL8169sc/8110sc at 0x9000000060075000, 00:11:11:11:1b:b0, XID 18000000 IRQ 36 console [netcon0] enabled netconsole: network logging started Uniform Multi-Platform E-IDE driver amd74xx 0000:00:0e.2: UDMA100 controller amd74xx 0000:00:0e.2: IDE controller (0x1022:0x209a rev 0x01) amd74xx 0000:00:0e.2: IDE port disabled amd74xx 0000:00:0e.2: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x4ce0-0x4ce7 Probing IDE interface ide0... hda: Hitachi HTS541680J9AT00, ATA DISK drive hda: host max PIO5 wanted PIO255(auto-tune) selected PIO4 hda: host side 80-wire cable detection failed, limiting max speed to UDMA33 hda: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: max request size: 512KiB hda: 156301488 sectors (80026 MB) w/7512KiB Cache, CHS=16383/255/63 hda: cache flushes supported hda: hda1 hda2 hda3 i8042.c: No controller found. Trying to free nonexistent resource <0000000000000060-000000000000006f> mice: PS/2 mouse device common for all mice TCP bic registered NET: Registered protocol family 17 begin to find the vga mem range find the frame buffer:start=50000000,end=5fffffff kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 272k freed usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver ohci_hcd: block sizes: ed 80 td 96 PCI: Setting latency timer of device 0000:00:0e.4 to 64 ohci_hcd 0000:00:0e.4: OHCI Host Controller drivers/usb/core/inode.c: creating file 'devices' drivers/usb/core/inode.c: creating file '001' ohci_hcd 0000:00:0e.4: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:0e.4: created debug files ohci_hcd 0000:00:0e.4: irq 11, io mem 0x60072000 Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after ehci_hcd: block sizes: qh 160 qtd 96 itd 192 sitd 96 ohci_hcd 0000:00:0e.4: OHCI controller state ohci_hcd 0000:00:0e.4: OHCI 1.0, NO legacy support registers ohci_hcd 0000:00:0e.4: control 0x083 HCFS=operational CBSR=3 ohci_hcd 0000:00:0e.4: cmdstatus 0x00000 SOC=0 ohci_hcd 0000:00:0e.4: intrstatus 0x00000004 SF ohci_hcd 0000:00:0e.4: intrenable 0x8000005a MIE RHSC UE RD WDH ohci_hcd 0000:00:0e.4: hcca frame #0021 ohci_hcd 0000:00:0e.4: roothub.a 10000204 POTPGT=16 NPS NDP=4(4) ohci_hcd 0000:00:0e.4: roothub.b 00000000 PPCM=0000 DR=0000 ohci_hcd 0000:00:0e.4: roothub.status 00008000 DRWE ohci_hcd 0000:00:0e.4: roothub.portstatus [0] 0x00000100 PPS ohci_hcd 0000:00:0e.4: roothub.portstatus [1] 0x00010301 CSC LSDA PPS CCS ohci_hcd 0000:00:0e.4: roothub.portstatus [2] 0x00000100 PPS ohci_hcd 0000:00:0e.4: roothub.portstatus [3] 0x00010101 CSC PPS CCS usb usb1: default language 0x0409 usb usb1: uevent usb usb1: usb_probe_device usb usb1: configuration #1 chosen from 1 choice usb usb1: adding 1-0:1.0 (config #1, interface 0) usb 1-0:1.0: uevent hub 1-0:1.0: usb_probe_interface hub 1-0:1.0: usb_probe_interface - got id hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected hub 1-0:1.0: standalone hub hub 1-0:1.0: no power switching (usb 1.0) hub 1-0:1.0: global over-current protection hub 1-0:1.0: power on to power good time: 32ms hub 1-0:1.0: local power source is good hub 1-0:1.0: no over-current condition exists hub 1-0:1.0: trying to enable port power on non-switchable hub ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [0] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00010301 CSC LSDA PPS CCS hub 1-0:1.0: port 2: status 0301 change 0001 ohci_hcd 0000:00:0e.4: rhsc ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [2] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00010101 CSC PPS CCS hub 1-0:1.0: port 4: status 0101 change 0001 drivers/usb/core/inode.c: creating file '001' usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: OHCI Host Controller usb usb1: Manufacturer: Linux 2.6.27.1-amd-hiddebug ohci_hcd usb usb1: SerialNumber: 0000:00:0e.4 PCI: Setting latency timer of device 0000:00:0e.5 to 64 ehci_hcd 0000:00:0e.5: EHCI Host Controller drivers/usb/core/inode.c: creating file '002' ehci_hcd 0000:00:0e.5: new USB bus registered, assigned bus number 2 ehci_hcd 0000:00:0e.5: reset hcs_params 0x1414 dbg=0 cc=1 pcc=4 ordered ports=4 ehci_hcd 0000:00:0e.5: reset hcc_params 0012 thresh 1 uframes 256/512/1024 ehci_hcd 0000:00:0e.5: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT ehci_hcd 0000:00:0e.5: ...powerup ports... hub 1-0:1.0: state 7 ports 4 chg 0014 evt 0000 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS hub 1-0:1.0: port 2, status 0301, change 0000, 1.5 Mb/s ohci_hcd 0000:00:0e.4: rhsc ohci_hcd 0000:00:0e.4: rhsc ehci_hcd 0000:00:0e.5: MWI active ehci_hcd 0000:00:0e.5: irq 11, io mem 0x60073000 ehci_hcd 0000:00:0e.5: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT ehci_hcd 0000:00:0e.5: init command 010009 (park)=0 ithresh=1 period=256 RUN ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00100303 PRSC LSDA PPS PES CCS usb 1-2: new low speed USB device using ohci_hcd and address 2 drivers/usb/host/ohci-dbg.c: SUB 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-150 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 path 2 ep0in 5ec20000 cc 5 --> status -62 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 td 900000009e61c000 (1) cc 5, len=0/64 drivers/usb/host/ohci-dbg.c: RET 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-62 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 01 00 00 40 00 drivers/usb/host/ohci-dbg.c: data(0/64): stat:-62 drivers/usb/host/ohci-dbg.c: SUB 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-150 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 path 2 ep0in 5ec20000 cc 5 --> status -62 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 td 900000009e61c120 (1) cc 5, len=0/64 drivers/usb/host/ohci-dbg.c: RET 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-62 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 01 00 00 40 00 drivers/usb/host/ohci-dbg.c: data(0/64): stat:-62 drivers/usb/host/ohci-dbg.c: SUB 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-150 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 path 2 ep0in 5ec20000 cc 5 --> status -62 ohci_hcd 0000:00:0e.4: urb 980000009e2d8780 td 900000009e61c000 (1) cc 5, len=0/64 drivers/usb/host/ohci-dbg.c: RET 980000009e2d8780 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-62 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 01 00 00 40 00 drivers/usb/host/ohci-dbg.c: data(0/64): stat:-62 ehci_hcd 0000:00:0e.5: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004 usb usb2: default language 0x0409 usb usb2: uevent usb usb2: usb_probe_device usb usb2: configuration #1 chosen from 1 choice usb usb2: adding 2-0:1.0 (config #1, interface 0) usb 2-0:1.0: uevent hub 2-0:1.0: usb_probe_interface hub 2-0:1.0: usb_probe_interface - got id hub 2-0:1.0: USB hub found hub 2-0:1.0: 4 ports detected hub 2-0:1.0: standalone hub hub 2-0:1.0: individual port power switching hub 2-0:1.0: individual port over-current protection hub 2-0:1.0: power on to power good time: 20ms hub 2-0:1.0: local power source is good hub 2-0:1.0: enabling power on all ports ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00030100 PESC CSC PPS Frank: usb_hcd_flush_endpoint--> ohci_hcd 0000:00:0e.4: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- Frank: usb_hcd_flush_endpoint--> ohci_hcd 0000:00:0e.4: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- hub 1-0:1.0: unable to enumerate USB device on port 2 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00010100 CSC PPS hub 1-0:1.0: port 4, status 0100, change 0001, 12 Mb/s ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00000100 PPS ehci_hcd 0000:00:0e.5: GetStatus port 2 status 001403 POWER sig=k CSC CONNECT hub 2-0:1.0: port 2: status 0501 change 0001 ehci_hcd 0000:00:0e.5: GetStatus port 4 status 001803 POWER sig=j CSC CONNECT hub 2-0:1.0: port 4: status 0501 change 0001 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [3] = 0x00000100 PPS hub 1-0:1.0: debounce: port 4: total 100ms stable 100ms status 0x100 hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0004 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00030100 PESC CSC PPS hub 1-0:1.0: port 2, status 0100, change 0003, 12 Mb/s ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000100 PPS drivers/usb/core/inode.c: creating file '001' usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.27.1-amd-hiddebug ehci_hcd usb usb2: SerialNumber: 0000:00:0e.5 PCI: Setting latency timer of device 0000:00:0e.3 to 64 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000100 PPS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000100 PPS hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x100 hub 2-0:1.0: state 7 ports 4 chg 0014 evt 0000 hub 2-0:1.0: port 2, status 0501, change 0000, 480 Mb/s ehci_hcd 0000:00:0e.5: port 2 low speed --> companion ehci_hcd 0000:00:0e.5: GetStatus port 2 status 003002 POWER OWNER sig=se0 CSC Frank: usb_hcd_flush_endpoint--> ehci_hcd 0000:00:0e.5: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- Frank: usb_hcd_flush_endpoint--> ehci_hcd 0000:00:0e.5: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- hub 2-0:1.0: port 4, status 0501, change 0000, 480 Mb/s ehci_hcd 0000:00:0e.5: port 4 high speed ehci_hcd 0000:00:0e.5: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT usb 2-4: new high speed USB device using ehci_hcd and address 3 ehci_hcd 0000:00:0e.5: port 4 high speed ehci_hcd 0000:00:0e.5: GetStatus port 4 status 001005 POWER sig=se0 PE CONNECT Frank: usb_hcd_flush_endpoint--> ehci_hcd 0000:00:0e.5: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- Frank: usb_hcd_flush_endpoint--> ehci_hcd 0000:00:0e.5: urb =980000009e27d058 head =980000009e27d058 Frank: usb_hcd_flush_endpoint<-- usb 2-4: default language 0x0409 usb 2-4: uevent usb 2-4: usb_probe_device usb 2-4: configuration #1 chosen from 1 choice usb 2-4: adding 2-4:1.0 (config #1, interface 0) usb 2-4:1.0: uevent drivers/usb/core/inode.c: creating file '003' usb 2-4: New USB device found, idVendor=05e3, idProduct=070e usb 2-4: New USB device strings: Mfr=0, Product=1, SerialNumber=2 usb 2-4: Product: USB Storage usb 2-4: SerialNumber: 000000009321 hub 2-0:1.0: state 7 ports 4 chg 0000 evt 0004 hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0004 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00010301 CSC LSDA PPS CCS hub 1-0:1.0: port 2, status 0301, change 0001, 1.5 Mb/s ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000301 LSDA PPS CCS hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x301 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00100303 PRSC LSDA PPS PES CCS usb 1-2: new low speed USB device using ohci_hcd and address 3 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=0 ep=0in-ctrl flags=200 len=0/64 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=0 ep=0in-ctrl flags=200 len=18/64 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 01 00 00 40 00 drivers/usb/host/ohci-dbg.c: data(18/64): 12 01 00 02 00 00 00 08 6d 04 3d c0 00 20 01 02... stat:0 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00100303 PRSC LSDA PPS PES CCS drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=0 ep=0out-ctrl flags=0 len=0/0 stat=-150 drivers/usb/host/ohci-dbg.c: setup(8): 00 05 03 00 00 00 00 00 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=0 ep=0out-ctrl flags=0 len=0/0 stat=0 Frank: usb_hcd_flush_endpoint--> ohci_hcd 0000:00:0e.4: urb =980000009e80f858 head =980000009e80f858 Frank: usb_hcd_flush_endpoint<-- Frank: usb_hcd_flush_endpoint--> ohci_hcd 0000:00:0e.4: urb =980000009e80f858 head =980000009e80f858 Frank: usb_hcd_flush_endpoint<-- drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/18 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=18/18 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 01 00 00 12 00 drivers/usb/host/ohci-dbg.c: data(18/18): 12 01 00 02 00 00 00 08 6d 04 3d c0 00 20 01 02... stat:0 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/9 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=9/9 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 02 00 00 09 00 drivers/usb/host/ohci-dbg.c: data(9/9): 09 02 22 00 01 01 00 a0 31 stat:0 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/34 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=34/34 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 02 00 00 22 00 drivers/usb/host/ohci-dbg.c: data(34/34): 09 02 22 00 01 01 00 a0 31 09 04 00 00 01 03 01... stat:0 usb 1-2: skipped 1 descriptor after interface drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/255 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=4/255 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 00 03 00 00 ff 00 drivers/usb/host/ohci-dbg.c: data(4/255): 04 03 09 04 stat:0 usb 1-2: default language 0x0409 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/255 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=46/255 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 02 03 09 04 ff 00 drivers/usb/host/ohci-dbg.c: data(46/255): 2e 03 55 00 53 00 42 00 2d 00 50 00 53 00 2f 00... stat:0 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=0/255 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0in-ctrl flags=200 len=18/255 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 80 06 01 03 09 04 ff 00 drivers/usb/host/ohci-dbg.c: data(18/255): 12 03 4c 00 6f 00 67 00 69 00 74 00 65 00 63 00... stat:0 usb 1-2: uevent usb 1-2: usb_probe_device usb 1-2: configuration #1 chosen from 1 choice drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca480 dev=3 ep=0out-ctrl flags=0 len=0/0 stat=-150 drivers/usb/host/ohci-dbg.c: setup(8): 00 09 01 00 00 00 00 00 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca480 dev=3 ep=0out-ctrl flags=0 len=0/0 stat=0 usb 1-2: adding 1-2:1.0 (config #1, interface 0) usb 1-2:1.0: uevent drivers/usb/core/inode.c: creating file '003' usb 1-2: New USB device found, idVendor=046d, idProduct=c03d usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-2: Product: USB-PS/2 Optical Mouse usb 1-2: Manufacturer: Logitech hub 1-0:1.0: state 7 ports 4 chg 0000 evt 0004 ohci_hcd 0000:00:0e.4: GetStatus roothub.portstatus [1] = 0x00000303 LSDA PPS PES CCS usbhid 1-2:1.0: usb_probe_interface usbhid 1-2:1.0: usb_probe_interface - got id drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca380 dev=3 ep=0out-ctrl flags=0 len=0/0 stat=-150 drivers/usb/host/ohci-dbg.c: setup(8): 21 0a 00 00 00 00 00 00 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca380 dev=3 ep=0out-ctrl flags=0 len=0/0 stat=0 drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca380 dev=3 ep=0in-ctrl flags=200 len=0/50 stat=-150 drivers/usb/host/ohci-dbg.c: RET 980000009e4ca380 dev=3 ep=0in-ctrl flags=200 len=50/50 stat=0 drivers/usb/host/ohci-dbg.c: setup(8): 81 06 00 22 00 00 32 00 drivers/usb/host/ohci-dbg.c: data(50/50): 05 01 09 02 a1 01 09 01 a1 00 05 09 19 01 29 03... stat:0 drivers/hid/usbhid/hid-core.c: report descriptor (size 50, read 50) = 05 01 09 02 a1 01 09 01 a1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 05 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0 drivers/hid/usbhid/hid-core.c: parsing report descriptor failed INPUT[INPUT] Field(0) Physical(GenericDesktop.Pointer) Usage(3) Button.0001 Button.0002 Button.0003 Logical Minimum(0) Logical Maximum(1) Report Size(1) Report Count(3) Report Offset(0) Flags( Variable Absolute ) Field(1) Physical(GenericDesktop.Pointer) Usage(3) GenericDesktop.X GenericDesktop.Y GenericDesktop.Wheel Logical Minimum(-127) Logical Maximum(127) Report Size(8) Report Count(3) Report Offset(8) Flags( Variable Relative ) drivers/hid/hid-input.c: Mapping: Button.0001 ---> Key.LeftBtn drivers/hid/hid-input.c: Mapping: Button.0002 ---> Key.RightBtn drivers/hid/hid-input.c: Mapping: Button.0003 ---> Key.MiddleBtn drivers/hid/hid-input.c: Mapping: GenericDesktop.X ---> Relative.X drivers/hid/hid-input.c: Mapping: GenericDesktop.Y ---> Relative.Y drivers/hid/hid-input.c: Mapping: GenericDesktop.Wheel ---> Relative.Wheel input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:0e.4/usb1/1-2/1-2:1.0/input/input0 input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:0e.4-2 usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver SCSI subsystem initialized Initializing USB Mass Storage driver... usb-storage 2-4:1.0: usb_probe_interface usb-storage 2-4:1.0: usb_probe_interface - got id scsi0 : SCSI emulation for USB Mass Storage devices usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usb-storage: device found at 3 usb-storage: waiting for device to settle before scanning Adding 987952k swap on /dev/hda3. Priority:-1 extents:1 across:987952k EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda1, internal journal kjournald starting. Commit interval 5 seconds EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda2, internal journal EXT3-fs: mounted filesystem with ordered data mode. scsi 0:0:0:0: Direct-Access Generic STORAGE DEVICE 9321 PQ: 0 ANSI: 0 usb-storage: device scan complete Driver 'sd' needs updating - please use bus_type methods sd 0:0:0:0: [sda] 4001760 512-byte hardware sectors (2049 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00 sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] 4001760 512-byte hardware sectors (2049 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00 sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:0:0:0: [sda] Attached SCSI removable disk NET: Registered protocol family 10 lo: Disabled Privacy Extensions ioctl32(Xorg:1200): Unknown cmd fd(7) cmd(8004f300){t:'?;sz:4} arg(7fab489c) on /dev/fb0 ioctl32(Xorg:1200): Unknown cmd fd(7) cmd(80046ef8){t:'n';sz:4} arg(0063c5c8) on /dev/fb0 drivers/hid/usbhid/hid-core.c: Frank usbhid_open drivers/usb/host/ohci-dbg.c: SUB 980000009e4ca080 dev=3 ep=1in-intr flags=204 len=0/4 stat=-150 ohci_hcd 0000:00:0e.4: link ed 900000009e58c050 branch 0 [92us.], interval 8 r8169: eth0: link up eth0: no IPv6 routers present ------------------------------------------------------------------------ --- -----Original Message----- From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] Sent: Monday, December 28, 2009 11:36 AM To: Huang, FrankR Cc: USB list Subject: RE: A question about ohci_irq() On Mon, 28 Dec 2009, Huang, FrankR wrote: > No problem , Alan. I can post the debug info. Which part do you want to > check? I can post it. Go ahead and post all of it. > The two controllers share the same IRQ. The cat /proc/interrupts result > for ohci and ehci is as below: > > 11: 1924 XT-PIC ehci_hcd:usb1, > ohci_hcd:usb2 That's why ohci_irq runs when you transfer file data. The data transfer causes the EHCI controller to issue interrupt requests, and the CPU has to call both interrupt routines (ehci_irq and ohci_irq) whenever one of the interrupts occurs. > When I use the udelay(1), the result is better and the mouse hang still > happen. But the hang time is delayed(around 30 mins) > When I use the udelay(100), the hang issue is hardly found. Please post the patch for your udelay(). Alan Stern -- 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