]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: firewire-motu: drop EPOLLOUT from poll return values as write is not supported
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 29 Aug 2025 23:37:49 +0000 (08:37 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Sep 2025 09:13:41 +0000 (11:13 +0200)
[ Upstream commit aea3493246c474bc917d124d6fb627663ab6bef0 ]

The ALSA HwDep character device of the firewire-motu driver incorrectly
returns EPOLLOUT in poll(2), even though the driver implements no operation
for write(2). This misleads userspace applications to believe write() is
allowed, potentially resulting in unnecessarily wakeups.

This issue dates back to the driver's initial code added by a commit
71c3797779d3 ("ALSA: firewire-motu: add hwdep interface"), and persisted
when POLLOUT was updated to EPOLLOUT by a commit a9a08845e9ac ('vfs: do
bulk POLL* -> EPOLL* replacement("").').

This commit fixes the bug.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://patch.msgid.link/20250829233749.366222-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/firewire/motu/motu-hwdep.c

index 88d1f4b56e4be401d1cb45db2eba4875a1d4b712..a220ac0c8eb831fce054825eb02d9508bd81b1fa 100644 (file)
@@ -111,7 +111,7 @@ static __poll_t hwdep_poll(struct snd_hwdep *hwdep, struct file *file,
                events = 0;
        spin_unlock_irq(&motu->lock);
 
-       return events | EPOLLOUT;
+       return events;
 }
 
 static int hwdep_get_info(struct snd_motu *motu, void __user *arg)