Add the TASK_FREEZABLE flag when sleeping during FUSE device read operations. This prevents premature wakeups during system suspend/resume cycles, avoiding unnecessary wakeup overhead and power consumption. During sleep in the FUSE device read path, no kernel locks are held. Therefore, adding TASK_FREEZABLE is safe. Signed-off-by: Dai Junbing --- fs/fuse/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index e80cd8f2c049..b3dbd113e2e2 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1418,7 +1418,7 @@ static ssize_t fuse_dev_do_read(struct fuse_dev *fud, struct file *file, if (file->f_flags & O_NONBLOCK) return -EAGAIN; - err = wait_event_interruptible_exclusive(fiq->waitq, + err = wait_event_freezable_exclusive(fiq->waitq, !fiq->connected || request_pending(fiq)); if (err) return err; -- 2.25.1