/* Note that the xfer->seg thingies follow the URB life cycle, so we need to put them, not free them.  */
static void wa_xfer_destroy(struct kref *_xfer)
/* Note that the xfer->seg thingies follow the URB life cycle, so we need to put them, not free them.  */
static void wa_xfer_destroy(struct kref *_xfer)
{
	struct wa_xfer *xfer = container_of(_xfer, struct wa_xfer, refcnt);
	if (xfer->seg) {
		unsigned cnt;
		for (cnt = 0; cnt < xfer->segs; cnt++) {
			if (xfer->is_inbound)
				usb_put_urb(xfer->seg[cnt]->dto_urb);
			usb_put_urb(&xfer->seg[cnt]->urb);
		}
	}
	kfree(xfer);
}