Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 248698
Collapse All | Expand All

(-)a/drivers/usb/class/cdc-acm.c (-5 / +4 lines)
Lines 158-173 static int acm_wb_is_avail(struct acm *acm) Link Here
158
}
158
}
159
159
160
/*
160
/*
161
 * Finish write.
161
 * Finish write. Caller must hold acm->write_lock
162
 */
162
 */
163
static void acm_write_done(struct acm *acm, struct acm_wb *wb)
163
static void acm_write_done(struct acm *acm, struct acm_wb *wb)
164
{
164
{
165
	unsigned long flags;
166
167
	spin_lock_irqsave(&acm->write_lock, flags);
168
	wb->use = 0;
165
	wb->use = 0;
169
	acm->transmitting--;
166
	acm->transmitting--;
170
	spin_unlock_irqrestore(&acm->write_lock, flags);
171
}
167
}
172
168
173
/*
169
/*
Lines 482-487 static void acm_write_bulk(struct urb *urb) Link Here
482
{
478
{
483
	struct acm_wb *wb = urb->context;
479
	struct acm_wb *wb = urb->context;
484
	struct acm *acm = wb->instance;
480
	struct acm *acm = wb->instance;
481
	unsigned long flags;
485
482
486
	if (verbose || urb->status
483
	if (verbose || urb->status
487
			|| (urb->actual_length != urb->transfer_buffer_length))
484
			|| (urb->actual_length != urb->transfer_buffer_length))
Lines 490-496 static void acm_write_bulk(struct urb *urb) Link Here
490
			urb->transfer_buffer_length,
487
			urb->transfer_buffer_length,
491
			urb->status);
488
			urb->status);
492
489
490
	spin_lock_irqsave(&acm->write_lock, flags);
493
	acm_write_done(acm, wb);
491
	acm_write_done(acm, wb);
492
	spin_unlock_irqrestore(&acm->write_lock, flags);
494
	if (ACM_READY(acm))
493
	if (ACM_READY(acm))
495
		schedule_work(&acm->work);
494
		schedule_work(&acm->work);
496
	else
495
	else

Return to bug 248698