question about interrupt firing in controller

郭哲君 (chechun_kuo) <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Dear all guys and Greg:
I have a question about when will the the hub_irq be called?
 
In hub_configure, we register the hub->urb as urb->complete function below:
	usb_fill_int_urb(hub->urb, hdev, pipe, *hub->buffer, maxp, hub_irq,
		hub, endpoint->bInterval);
and in hub_activate(hub), we submit it.
	status = usb_submit_urb(hub->urb, GFP_NOIO);

But the hub_irq is only called after usb_hcd_irq, the irq handler we register for the ehci.
It seems we submit the hub->urb to some place and it is been called after interrupt triggered. But where does it hide? 
Appreciate your help,
Cckuo

Ps:Below is the message I get from log and is what my surmise comes from.

calling hub_activate
hcd_submit_urb called   //we submit the hub->urb as mention above
xxxxx     beginning hub_events     //the hub thread is working on
hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0000
xxxxx     beginning each port 
calling hub_port_status
ehci_hcd 0000:00:03.3: GetStatus port 1 status 001000 POWER sig=se0
usb_hcd_giveback_urb called
xxxxx   end of each port
xxxxx     beginning each port 
..........................................................
...................................................  //some device plug in
usb_hcd_irq called
ehci_irq called
ehci_hcd 0000:00:03.3: irq status 0004 PCD  //detect change port state interrupt
usb_hcd_giveback_urb called  //it seems the hub->urb that we submited before finished right now
calling hub_irq       //calling hub_irq
xxxx   calling hub_event
hcd_submit_urb called
xxxxx     beginning hub_events
hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0002
xxxxx     beginning each port 
calling hub_port_status
calling usb_start_wait_urb
hcd_submit_urb called
rh_call_control called
ehci_hcd 0000:00:03.3: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
usb_hcd_giveback_urb called

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.