Skip to content

Commit

Permalink
bas_gigaset: use tasklet_hi_schedule for timing critical tasklets
Browse files Browse the repository at this point in the history
The tasklets for isochronous data transfer need to run within 8 msec
to avoid over/underruns, so schedule them with high priority to fix
reported issues with occasional over/underruns.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Tilman Schmidt authored and David S. Miller committed Apr 7, 2009
1 parent d9677a4 commit 368fd81
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/isdn/gigaset/bas-gigaset.c
Original file line number Diff line number Diff line change
Expand Up @@ -821,7 +821,7 @@ static void read_iso_callback(struct urb *urb)
/* pass URB to tasklet */
ubc->isoindone = urb;
ubc->isoinstatus = status;
tasklet_schedule(&ubc->rcvd_tasklet);
tasklet_hi_schedule(&ubc->rcvd_tasklet);
} else {
/* tasklet still busy, drop data and resubmit URB */
ubc->loststatus = status;
Expand Down Expand Up @@ -888,7 +888,7 @@ static void write_iso_callback(struct urb *urb)
ubc->isooutovfl = ubc->isooutdone;
ubc->isooutdone = ucx;
spin_unlock_irqrestore(&ubc->isooutlock, flags);
tasklet_schedule(&ubc->sent_tasklet);
tasklet_hi_schedule(&ubc->sent_tasklet);
}

/* starturbs
Expand Down

0 comments on commit 368fd81

Please sign in to comment.