/* Frees the the transmission URB, which means to put it on the free URB list.  */
static void free_tx_urb(struct zd_usb *usb, struct urb *urb)
/* Frees the the transmission URB, which means to put it on the free URB list.  */
static void free_tx_urb(struct zd_usb *usb, struct urb *urb)
{
	struct zd_usb_tx *tx = &usb->tx;
	unsigned long flags;
	spin_lock_irqsave(&tx->lock, flags);
	if (!tx->enabled) {
		usb_free_urb(urb);
		goto out;
	}
	list_add(&urb->urb_list, &tx->free_urb_list);
out:
	spin_unlock_irqrestore(&tx->lock, flags);
}