From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753065AbcBPCvB (ORCPT ); Mon, 15 Feb 2016 21:51:01 -0500 Received: from home.keithp.com ([63.227.221.253]:48222 "EHLO elaine.keithp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752525AbcBPCvA (ORCPT ); Mon, 15 Feb 2016 21:51:00 -0500 From: Keith Packard To: linux-usb@vger.kernel.org Cc: Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Keith Packard Subject: [PATCH] usb: check for signals in chaoskey read function Date: Mon, 15 Feb 2016 18:49:32 -0800 Message-Id: <1455590972-2120-1-git-send-email-keithp@keithp.com> X-Mailer: git-send-email 2.7.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Call signal_pending before reading a chunk of data from the device so that long read operations can be interrupted with a signal. Signed-off-by: Keith Packard --- drivers/usb/misc/chaoskey.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/usb/misc/chaoskey.c b/drivers/usb/misc/chaoskey.c index 23c7948..ab87db2 100644 --- a/drivers/usb/misc/chaoskey.c +++ b/drivers/usb/misc/chaoskey.c @@ -394,6 +394,13 @@ static ssize_t chaoskey_read(struct file *file, if (result) goto bail; if (dev->valid == dev->used) { + + if (signal_pending(current)) { + result = -ERESTARTSYS; + mutex_unlock(&dev->lock); + goto bail; + } + result = _chaoskey_fill(dev); if (result) { mutex_unlock(&dev->lock); -- 2.7.0