ALSA: hda - Revert power_save option default value
With the commit1ba8f9d308
("ALSA: hda: Add a power_save blacklist"), we changed the default value of power_save option to -1 for processing the power-save blacklist. Unfortunately, this seems breaking user-space applications that actually read the power_save parameter value via sysfs and judge / adjust the power-saving status. They see the value -1 as if the power-save is turned off, although the actual value is taken from CONFIG_SND_HDA_POWER_SAVE_DEFAULT and it can be a positive. So, overall, passing -1 there was no good idea. Let's partially revert it -- at least for power_save option default value is restored again to CONFIG_SND_HDA_POWER_SAVE_DEFAULT. Meanwhile, in this patch, we keep the blacklist behavior and make is adjustable via the new option, pm_blacklist. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199073 Fixes:1ba8f9d308
("ALSA: hda: Add a power_save blacklist") Acked-by: Hans de Goede <hdegoede@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
01c0b4265c
Коммит
40088dc4e1
|
@ -181,11 +181,15 @@ static const struct kernel_param_ops param_ops_xint = {
|
|||
};
|
||||
#define param_check_xint param_check_int
|
||||
|
||||
static int power_save = -1;
|
||||
static int power_save = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
|
||||
module_param(power_save, xint, 0644);
|
||||
MODULE_PARM_DESC(power_save, "Automatic power-saving timeout "
|
||||
"(in second, 0 = disable).");
|
||||
|
||||
static bool pm_blacklist = true;
|
||||
module_param(pm_blacklist, bool, 0644);
|
||||
MODULE_PARM_DESC(pm_blacklist, "Enable power-management blacklist");
|
||||
|
||||
/* reset the HD-audio controller in power save mode.
|
||||
* this may give more power-saving, but will take longer time to
|
||||
* wake up.
|
||||
|
@ -2300,10 +2304,9 @@ static int azx_probe_continue(struct azx *chip)
|
|||
|
||||
val = power_save;
|
||||
#ifdef CONFIG_PM
|
||||
if (val == -1) {
|
||||
if (pm_blacklist) {
|
||||
const struct snd_pci_quirk *q;
|
||||
|
||||
val = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
|
||||
q = snd_pci_quirk_lookup(chip->pci, power_save_blacklist);
|
||||
if (q && val) {
|
||||
dev_info(chip->card->dev, "device %04x:%04x is on the power_save blacklist, forcing power_save to 0\n",
|
||||
|
|
Загрузка…
Ссылка в новой задаче