|
@@ -894,7 +894,8 @@ static int snd_intel8x0m_ich_chip_init(struct intel8x0m *chip, int probing)
|
|
/* finish cold or do warm reset */
|
|
/* finish cold or do warm reset */
|
|
cnt |= (cnt & ICH_AC97COLD) == 0 ? ICH_AC97COLD : ICH_AC97WARM;
|
|
cnt |= (cnt & ICH_AC97COLD) == 0 ? ICH_AC97COLD : ICH_AC97WARM;
|
|
iputdword(chip, ICHREG(GLOB_CNT), cnt);
|
|
iputdword(chip, ICHREG(GLOB_CNT), cnt);
|
|
- end_time = (jiffies + (HZ / 4)) + 1;
|
|
|
|
|
|
+ usleep_range(500, 1000); /* give warm reset some time */
|
|
|
|
+ end_time = jiffies + HZ / 4;
|
|
do {
|
|
do {
|
|
if ((igetdword(chip, ICHREG(GLOB_CNT)) & ICH_AC97WARM) == 0)
|
|
if ((igetdword(chip, ICHREG(GLOB_CNT)) & ICH_AC97WARM) == 0)
|
|
goto __ok;
|
|
goto __ok;
|