/* Routine called when a device is disconnected from the USB.  */
static void keyspan_disconnect(struct usb_interface *interface)
/* Routine called when a device is disconnected from the USB.  */
static void keyspan_disconnect(struct usb_interface *interface)
{
	struct usb_keyspan *remote;
	remote = usb_get_intfdata(interface);
	usb_set_intfdata(interface, NULL);
	if (remote) {
		input_unregister_device(remote->input);
		usb_kill_urb(remote->irq_urb);
		usb_free_urb(remote->irq_urb);
		usb_buffer_free(remote->udev, RECV_SIZE, remote->in_buffer, remote->in_dma);
		kfree(remote);
	}
}