> 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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel