[BUG] unsafe reset in ac97_codec.c

From: Liam Girdwood
Date: Tue Feb 03 2004 - 10:47:58 EST


Hi

Does anyone know why ac97_codec.c does a register reset of the codec
during device probing. i.e.

/* probing AC97 codec, AC97 2.0 says that bit 15 of register 0x00
(reset) should
* be read zero.
*
* FIXME: is the following comment outdated? -jgarzik
* Probing of AC97 in this way is not reliable, it is not even SAFE !!
*/
codec->codec_write(codec, AC97_RESET, 0L);


IMO, this is unsafe because it can also reset the codec into it's
default power state which can be "power down". This is not normally a
problem for PC's, but some battery powered devices have the default
codec state as "power down" to conserve power.

Was this introduced as a workaround for some buggy device ?
If no one objects I'll submit a patch.

Liam

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/