static void bladerf_disconnect(struct usb_interface *interface) { bladerf_device_t *dev; if (interface->cur_altsetting->desc.bInterfaceNumber != 0) return; dev = usb_get_intfdata(interface); dev->disconnecting = 1; dev->tx_en = 0; dev->rx_en = 0; usb_kill_anchored_urbs(&dev->data_out_anchor); usb_kill_anchored_urbs(&dev->data_in_anchor); bladerf_stop(dev); usb_deregister_dev(interface, &bladerf_class); usb_set_intfdata(interface, NULL); usb_put_dev(dev->udev); dev_info(&interface->dev, "Nuand bladeRF device has been disconnected\n"); kfree(dev); }
static void bladerf_disconnect(struct usb_interface *interface) { bladerf_device_t *dev; dev = usb_get_intfdata(interface); bladerf_stop(dev); usb_deregister_dev(interface, &bladerf_class); usb_set_intfdata(interface, NULL); usb_put_dev(dev->udev); dev_info(&interface->dev, "Nuand bladeRF device has been disconnected\n"); kfree(dev); }