Narasimha M <mnarasimha786@xxxxxxxxx> writes: > Thanks for the info. Sorry to ask you again, where does the usb driver > (GobiNet in my case) comes into picture in receive packet flow. I > suspect that the driver has to send some data (may be with some > interrupts) to rx_complete and then it will go to rx_submit. Is my > understanding is correct ? or if rx_submit is the first function to > generate the data, then where does Gobinet driver comes into place. > Could you please explain. I don't know how some usb driver works. This > is the first time i am working on it. GobiNet isn't part of the receive packet flow at all, if we assume a non-buggy Gobi device operating in 802.3 mode. The rx_fixup callback is called, but it does nothing. There isn't anything to do. The buffer is filled with an ethernet packet by the device + host controller. The usbnet_bh() tasklet is responsible for calling rx_submit (indirectly in newer kernels). This is triggered by setting the EVENT_DEV_OPEN flag, which is done by usbnet_open(). GobiNet obfuscates this quite a bit, but it doen't do anything extra-ordinary here - it simply calls usbnet_open() when you open the netdev. Bjørn _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies