Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp5021188ybl; Tue, 14 Jan 2020 02:06:58 -0800 (PST) X-Google-Smtp-Source: APXvYqzjQNNn+HWOTPVUCRoPAjJ/KiyH7HngidmK09av/DD/mWsnk1Bs2u0iKBChI/mRvUdyFcHQ X-Received: by 2002:aca:33d5:: with SMTP id z204mr15236764oiz.120.1578996418649; Tue, 14 Jan 2020 02:06:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578996418; cv=none; d=google.com; s=arc-20160816; b=jNFb39ru30V5OHG2myY2J/y/KmzJwc7mV3awcqzk8qNwqbMYFrwt+AF1Kpf59vnqNg WpZdlwZ37tdupGdUCd9YGKStSA6mfG7L09Zhm6yq4jm1x/xXFRWxUr3NWTXBQxF4UsN/ Lh3U8Sn4kFQ05+SiLfbogCFrxuRHbAqHpz0ZHGAowi8pwhuOw+ePxSgiwzzAHZJgg/Of GiFdnrv6+h9MdWGDsZFTxW91kgdq+AKsDJ42d8vDpWsp+IhVIvTBbqCMR4X/crawlslU y46X2JhP7vzQalOp8+L23VIwCNv6PtHxbe19BMtpC52yjF1tc5at+BvSIap7q2HjGsFX gN0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LgCQjWWsd6rvw8HuTj4M6LpFsAtZ3F58Z/V8tKh0rNI=; b=eCP7JJcrG91pjZwZrMSjwGQVWTDIEqUPi9nma4obN0U8S/b5uk80BI5VP/j4focKGp f5X69KxS0Ib4DObp57jKPB8XmPo0sQDAZ2tuQnEtHEhWdqsSlNAHBdvuf87CrHfyMFuS Udx33ZLTdfyaNidSU0B/KOguaJX1Rapm0yBctbgWia4khnhRkXovS2XdYC2xLMRQV6wb msNzAHD4yJFpXCXf9Ol+X70ddWSz5aEVP/rJxZs2seWdcuEVqANR5VWSoqOvqofqNFZ1 Fnc4Krpc1F7OaO7MQlfpMdrMWzbRCvjbymEjlAaBLVu0KaBfbhaPlTZ2iBA8GAJEfdlR pHBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nhXr5hT2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q6si9996881otg.248.2020.01.14.02.06.47; Tue, 14 Jan 2020 02:06:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nhXr5hT2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729906AbgANKEf (ORCPT + 99 others); Tue, 14 Jan 2020 05:04:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:60246 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725820AbgANKEd (ORCPT ); Tue, 14 Jan 2020 05:04:33 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B2F0F2465B; Tue, 14 Jan 2020 10:04:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578996272; bh=jifw3t86RPlobOIv0GBU83DATCCEB+SoFTw7iSeOiZE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nhXr5hT2OA/D0+WGtI2UKKB7RlpzySN/hIXDMcDjl40ACwkKkOuKav6vHk5br3H3d u4x9l2yHzxTJRs8RcIs5gu/DOhlSp2tJvir9aKipTzlEW+VkpPzRptflSslW8LBFH3 wamTDp0jxVnAIaOLAhTTsQ5/Oyh7ZCOd3fj+/DBU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marcel Holtmann , Jiri Kosina Subject: [PATCH 5.4 19/78] HID: hidraw: Fix returning EPOLLOUT from hidraw_poll Date: Tue, 14 Jan 2020 11:00:53 +0100 Message-Id: <20200114094356.291519748@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200114094352.428808181@linuxfoundation.org> References: <20200114094352.428808181@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marcel Holtmann commit 9f3b61dc1dd7b81e99e7ed23776bb64a35f39e1a upstream. When polling a connected /dev/hidrawX device, it is useful to get the EPOLLOUT when writing is possible. Since writing is possible as soon as the device is connected, always return it. Right now EPOLLOUT is only returned when there are also input reports are available. This works if devices start sending reports when connected, but some HID devices might need an output report first before sending any input reports. This change will allow using EPOLLOUT here as well. Fixes: 378b80370aa1 ("hidraw: Return EPOLLOUT from hidraw_poll") Signed-off-by: Marcel Holtmann Cc: stable@vger.kernel.org Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman --- drivers/hid/hidraw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/hid/hidraw.c +++ b/drivers/hid/hidraw.c @@ -252,10 +252,10 @@ static __poll_t hidraw_poll(struct file poll_wait(file, &list->hidraw->wait, wait); if (list->head != list->tail) - return EPOLLIN | EPOLLRDNORM | EPOLLOUT; + return EPOLLIN | EPOLLRDNORM; if (!list->hidraw->exist) return EPOLLERR | EPOLLHUP; - return 0; + return EPOLLOUT | EPOLLWRNORM; } static int hidraw_open(struct inode *inode, struct file *file)