From patchwork Mon Aug 30 08:52:24 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxim Levitsky X-Patchwork-Id: 4242 Return-path: Envelope-to: mchehab@pedra Delivery-date: Mon, 30 Aug 2010 08:45:15 -0300 Received: from mchehab by pedra with local (Exim 4.72) (envelope-from ) id 1Oq2nb-0004Xw-GG for mchehab@pedra; Mon, 30 Aug 2010 08:45:15 -0300 Received: from bombadil.infradead.org [18.85.46.34] by pedra with IMAP (fetchmail-6.3.17) for (single-drop); Mon, 30 Aug 2010 08:45:15 -0300 (BRT) Received: from vger.kernel.org ([209.132.180.67]) by bombadil.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1Oq06u-0006LY-W9; Mon, 30 Aug 2010 08:53:01 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754799Ab0H3Iw6 (ORCPT + 1 other); Mon, 30 Aug 2010 04:52:58 -0400 Received: from mail-bw0-f46.google.com ([209.85.214.46]:50491 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754809Ab0H3Iw4 (ORCPT ); Mon, 30 Aug 2010 04:52:56 -0400 Received: by bwz11 with SMTP id 11so3528275bwz.19 for ; Mon, 30 Aug 2010 01:52:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=S+/nQ7q5KUr66PheHFGfXgegstu5RQdIpRSmAqBvTmU=; b=vXnZViFsBv4BxpU2M+mr/hZbuaAk2TLppKJyiFeChY/ElMfXOa+lPwxrHq//HFoXjJ ocMgKH2sPjSkVC5zfgqBPcH/m7ik5IkxmnIdJ835bM/Hhw49h4F+YH0WekXEu1cw/1oq ss5+cqetVoizG/73xLHC780XhvNTrlO/GDD1M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=bEbtZNkuS7EU1zQX3s1coTY2tqnOxPqd3WENlu4faAoGnPJqybU21NtZRv0dR60XOj hsIsJGWFrHk2KxtuUnieSVvWmi25LmUvTOAZqeOLvIdsR5cGXL2U1Lf/fdzxq4Mojjx3 I2+pCvaEA56c2J6OqX1v6UiUE2vZh/MOavWnI= Received: by 10.204.117.13 with SMTP id o13mr3002992bkq.48.1283158374019; Mon, 30 Aug 2010 01:52:54 -0700 (PDT) Received: from localhost.localdomain (IGLD-84-228-220-57.inter.net.il [84.228.220.57]) by mx.google.com with ESMTPS id d27sm5012102bku.22.2010.08.30.01.52.50 (version=SSLv3 cipher=RC4-MD5); Mon, 30 Aug 2010 01:52:53 -0700 (PDT) From: Maxim Levitsky To: lirc-list@lists.sourceforge.net Cc: Jarod Wilson , linux-input@vger.kernel.org, linux-media@vger.kernel.org, Mauro Carvalho Chehab , Christoph Bartelmus , Maxim Levitsky Subject: [PATCH 4/7] IR: fix keys beeing stuck down forever. Date: Mon, 30 Aug 2010 11:52:24 +0300 Message-Id: <1283158348-7429-5-git-send-email-maximlevitsky@gmail.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1283158348-7429-1-git-send-email-maximlevitsky@gmail.com> References: <1283158348-7429-1-git-send-email-maximlevitsky@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Sender: Mauro Carvalho Chehab The logic in ir_timer_keyup was inverted. In case that values aren't equal, the meaning of the time_is_after_eq_jiffies(ir->keyup_jiffies) is that ir->keyup_jiffies is after the the jiffies or equally that that jiffies are before the the ir->keyup_jiffies which is exactly the situation we want to avoid (that the timeout is in the future) Confusing Eh? Signed-off-by: Maxim Levitsky --- drivers/media/IR/ir-keytable.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/media/IR/ir-keytable.c b/drivers/media/IR/ir-keytable.c index 3f0dd80..b5addb8 100644 --- a/drivers/media/IR/ir-keytable.c +++ b/drivers/media/IR/ir-keytable.c @@ -319,7 +319,7 @@ static void ir_timer_keyup(unsigned long cookie) * a keyup event might follow immediately after the keydown. */ spin_lock_irqsave(&ir->keylock, flags); - if (time_is_after_eq_jiffies(ir->keyup_jiffies)) + if (time_is_before_eq_jiffies(ir->keyup_jiffies)) ir_keyup(ir); spin_unlock_irqrestore(&ir->keylock, flags); }