summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYufen Yu <yuyufen@huawei.com>2019-01-29 16:34:04 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-03-23 14:35:12 +0100
commit86e74ca9fd0dae23fd55bb4ce577adfd98ff75e8 (patch)
tree08b6ec7ad84ffa625d9b362caff35d8a203652a8
parentde7f08cfd53daeb893b928e9a5f9daf71ff8b95d (diff)
downloadlinux-stable-86e74ca9fd0dae23fd55bb4ce577adfd98ff75e8.tar.gz
linux-stable-86e74ca9fd0dae23fd55bb4ce577adfd98ff75e8.tar.bz2
linux-stable-86e74ca9fd0dae23fd55bb4ce577adfd98ff75e8.zip
floppy: check_events callback should not return a negative number
[ Upstream commit 96d7cb932e826219ec41ac02e5af037ffae6098c ] floppy_check_events() is supposed to return bit flags to say which events occured. We should return zero to say that no event flags are set. Only BIT(0) and BIT(1) are used in the caller. And .check_events interface also expect to return an unsigned int value. However, after commit a0c80efe5956, it may return -EINTR (-4u). Here, both BIT(0) and BIT(1) are cleared. So this patch shouldn't affect runtime, but it obviously is still worth fixing. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Fixes: a0c80efe5956 ("floppy: fix lock_fdc() signal handling") Signed-off-by: Yufen Yu <yuyufen@huawei.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/block/floppy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index a7f212ea17bf..3ea9c3e9acb3 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -4079,7 +4079,7 @@ static unsigned int floppy_check_events(struct gendisk *disk,
if (time_after(jiffies, UDRS->last_checked + UDP->checkfreq)) {
if (lock_fdc(drive))
- return -EINTR;
+ return 0;
poll_drive(false, 0);
process_fd_request();
}