Re: Help with debugging no-callback problem with IrDA USB dongle

Oliver Neukum <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
> 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
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.