ALSA: control: Minor optimization for SNDRV_CTL_IOCTL_POWER_STATE
authorTakashi Iwai <tiwai@suse.de>
Sun, 23 May 2021 09:09:18 +0000 (11:09 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 25 May 2021 06:49:06 +0000 (08:49 +0200)
Long long time ago, before the proper PM framework was introduced, it
was still possible to reach SNDRV_CTL_IOCTL_POWER ioctl during the
power off state.  This ioctl existed as a main control for the suspend
resume state in the past, but the feature was already dropped along
with the standard PM framework.  Now the read part,
SNDRV_IOCTL_POWER_STATE ioctl, returns practically always D0, and we
can do some minor optimization there.

Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20210523090920.15345-5-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/control.c

index 7fe9013..a25c0d6 100644 (file)
@@ -1817,11 +1817,7 @@ static long snd_ctl_ioctl(struct file *file, unsigned int cmd, unsigned long arg
        case SNDRV_CTL_IOCTL_POWER:
                return -ENOPROTOOPT;
        case SNDRV_CTL_IOCTL_POWER_STATE:
-#ifdef CONFIG_PM
-               return put_user(card->power_state, ip) ? -EFAULT : 0;
-#else
                return put_user(SNDRV_CTL_POWER_D0, ip) ? -EFAULT : 0;
-#endif
        }
        down_read(&snd_ioctl_rwsem);
        list_for_each_entry(p, &snd_control_ioctls, list) {