ALSA: hda - disable delayed period-ack with bdl_pos_adj=0

When bdl_pos_adj=0 is given, disable the position-check and the delayed
period update mechanism.  Usually bdl_pos_adj=0 is set only for the
debugging purpose on really broken hardwares.  It's better to disable
the extra complexity in such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Takashi Iwai 2008-08-18 17:11:09 +02:00 committed by Jaroslav Kysela
parent ace457c77b
commit a62741cf77

View File

@ -1559,6 +1559,8 @@ static int azx_position_ok(struct azx *chip, struct azx_dev *azx_dev)
chip->position_fix = POS_FIX_POSBUF;
}
if (!bdl_pos_adj[chip->dev_index])
return 1; /* no delayed ack */
if (pos % azx_dev->period_bytes > azx_dev->period_bytes / 2)
return 0; /* NG - it's below the period boundary */
return 1; /* OK, it's fine */