From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965058AbbLOKLt (ORCPT ); Tue, 15 Dec 2015 05:11:49 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:48632 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964897AbbLOKLr (ORCPT ); Tue, 15 Dec 2015 05:11:47 -0500 Date: Tue, 15 Dec 2015 13:11:28 +0300 From: Dan Carpenter To: linux-kernel@vger.kernel.org, Sudeep Dutt , Ashutosh Dixit Cc: kernel-janitors@vger.kernel.org, Greg Kroah-Hartman Subject: [patch] mic_virtio: fix a timeout loop Message-ID: <20151215101128.GE20848@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org After the loop we test "if (!retry)" to see if we timedout. The problem is "retry--" is a post-op so retry will be -1 at the end of the loop. I have fixed this by changing it to a pre-op instead. Signed-off-by: Dan Carpenter diff --git a/drivers/misc/mic/card/mic_virtio.c b/drivers/misc/mic/card/mic_virtio.c index e486a0c..b3ad9c4 100644 --- a/drivers/misc/mic/card/mic_virtio.c +++ b/drivers/misc/mic/card/mic_virtio.c @@ -337,7 +337,7 @@ static int mic_find_vqs(struct virtio_device *vdev, unsigned nvqs, * rings have been re-assigned. */ mic_send_intr(mvdev->mdev, mvdev->c2h_vdev_db); - for (retry = 100; retry--;) { + for (retry = 100; --retry;) { if (!ioread8(&dc->used_address_updated)) break; msleep(100);