[ALSA] sound/pci: fix-up sleeping paths
ENS1370/1+ driver,ES1968 driver,Intel8x0 driver,VIA82xx driver VIA82xx-modem driver,AC97 Codec,ALI5451 driver,CS46xx driver MIXART driver,RME HDSP driver,Trident driver,YMFPCI driver Description: Fix-up sleeping in sound/pci. These changes fall under the following two categories: 1) Replace schedule_timeout() with msleep() to guarantee the task delays as expected. This also involved replacing/removing custom sleep functions. 2) Do not assume jiffies will only increment by one if you request a 1 jiffy sleep, i.e. use time_after/time_before in while loops. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:

committed by
Jaroslav Kysela

orang tua
072c01194d
melakukan
ef21ca24fa
@@ -445,9 +445,9 @@ static int snd_mixart_trigger(snd_pcm_substream_t *subs, int cmd)
|
||||
|
||||
static int mixart_sync_nonblock_events(mixart_mgr_t *mgr)
|
||||
{
|
||||
int timeout = HZ;
|
||||
unsigned long timeout = jiffies + HZ;
|
||||
while (atomic_read(&mgr->msg_processed) > 0) {
|
||||
if (! timeout--) {
|
||||
if (time_after(jiffies, timeout)) {
|
||||
snd_printk(KERN_ERR "mixart: cannot process nonblock events!\n");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
Reference in New Issue
Block a user