> Please notice that usbmon does log the IrDA discovery packet (the one that > starts with ffffffff), only my code does not get called for any response > on the > send.
Is i possible that the device needs an init sequence you don't do? > I welcome any critique on the driver code, whether or not it help with the > problem of no callbacks. /* * The current device is removed, the USB layer tell us to shut it down... */ static void kingsun_disconnect(struct usb_interface *intf) { struct kingsun_cb *kingsun = usb_get_intfdata(intf); if (!kingsun) return; unregister_netdev(kingsun->netdev); Call usb_unlink_urb() on your urbs before you free their buffers. kfree(kingsun->out_buf); kfree(kingsun->in_buf); kfree(kingsun->prev_rx); free_netdev(kingsun->netdev); usb_set_intfdata(intf, NULL); } #ifdef CONFIG_PM /* USB suspend, so power off the transmitter/receiver */ static int kingsun_suspend(struct usb_interface *intf, pm_message_t message) { struct kingsun_cb *kingsun = usb_get_intfdata(intf); Here kill the urbs netif_device_detach(kingsun->netdev); return 0; } /* Coming out of suspend, so reset hardware */ static int kingsun_resume(struct usb_interface *intf) { struct kingsun_cb *kingsun = usb_get_intfdata(intf); Restart the urbs. Regards Oliver ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel