Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp34094imu; Thu, 8 Nov 2018 14:16:02 -0800 (PST) X-Google-Smtp-Source: AJdET5cA9Me4vjXHEQRGaJcICVCD777LB/PEPaNw5wnULIlmAxqOPK9JH/AYwVZ7C8HN8opFATy8 X-Received: by 2002:a17:902:64c1:: with SMTP id y1-v6mr6365089pli.210.1541715362391; Thu, 08 Nov 2018 14:16:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541715362; cv=none; d=google.com; s=arc-20160816; b=PfRc+nvG/1BuFHImmLJZcXmpgfr7dXlJkLarO2zoNfauBU77O9gmSedNZvLiwgh+rh JPmXfyFZGfO6Lp2+EsvmvXwhiHccziP1Q1/uJSTe7GVvxasm9vWTX2FEZqT4HLoMtLYb LEva8ta2DuqOd03iDQ6h2OU/CEu5DBIt0uM6Ol1/1652qDlsh/vrPGrDHAb1BB7IPysz jVHGlXe9pRhpXkQMd4iDOJraK5+ntuuaXyjWcyCPPpvxMl0Uv6AYYpRkb/k92/lcQFeP mQqwFoTQFE3i9BnScVkW+oJSOK9yL2L9zgqoVSGuWLcFgeKHq2ZB2+daMOZ9Ofqx3/nv Y/2Q== 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=XPsn6hNLhNZwbHuaOL9NUELNvhWCm7tMcsGiL77Su2A=; b=zvEPhRnFc8hYPW94PVr47RlFr5bCh4nFQUthvqUi2jnffIMkbuSbomNLyxVWi0FAlE kG1VgEW5tA/rACg03/J71aVfsW7sX/yPrkTbqgLJExBvJwHoeRAI5AkwaT8Gd4a4claI LJAlgyoQeaNvg0DxPfXHqyMJ7S7J/J9xowR0HpOezYogavnxEP8WElA+LMmynW+0v9HY XYX9Zkf3oPLLKnqKiSUpyFDZ38ZrysQW12WbRrcSOKtMVL2v+k1J3SVYqVKXtxPSrG5q TJdSL1xXaGgM8z+0EVQ5mTS8KgdNVT9/VLLgJGv3lzzsrlBOaVb+EeFNEbe6d7aowmvs e1fA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=T6nLDVWy; 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 y1-v6si5520782pli.131.2018.11.08.14.15.46; Thu, 08 Nov 2018 14:16:02 -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=T6nLDVWy; 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 S1732494AbeKIHpi (ORCPT + 99 others); Fri, 9 Nov 2018 02:45:38 -0500 Received: from mail.kernel.org ([198.145.29.99]:38974 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730895AbeKIHpg (ORCPT ); Fri, 9 Nov 2018 02:45:36 -0500 Received: from localhost (unknown [208.72.13.198]) (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 280762148E; Thu, 8 Nov 2018 22:08:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541714885; bh=EM11Nc8EBTr7717QC3xh/W2gM9j1h9MxdWqCHyNJZd0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T6nLDVWypfJ698+SyAqVcv3FB1BXGn3x73MDEclc4SU1LzOwQB/Xn4bceGxoN1D8s 7OWepWXdou9bTKy8v6l9CXVo/JVmn7QShmOci7QXeWYC/24fKlbNYprgrG4CYBKOZb C+VYf1OM3+zhStdzPRmwK1YB3byDjxtDcdEc/DRI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tobias Herzog , Oliver Neukum Subject: [PATCH 4.9 163/171] cdc-acm: correct counting of UART states in serial state notification Date: Thu, 8 Nov 2018 13:52:13 -0800 Message-Id: <20181108215138.757983166@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181108215127.257643509@linuxfoundation.org> References: <20181108215127.257643509@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tobias Herzog commit f976d0e5747ca65ccd0fb2a4118b193d70aa1836 upstream. The usb standard ("Universal Serial Bus Class Definitions for Communication Devices") distiguishes between "consistent signals" (DSR, DCD), and "irregular signals" (break, ring, parity error, framing error, overrun). The bits of "irregular signals" are set, if this error/event occurred on the device side and are immeadeatly unset, if the serial state notification was sent. Like other drivers of real serial ports do, just the occurence of those events should be counted in serial_icounter_struct (but no 1->0 transitions). Signed-off-by: Tobias Herzog Acked-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman --- drivers/usb/class/cdc-acm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -333,17 +333,17 @@ static void acm_ctrl_irq(struct urb *urb if (difference & ACM_CTRL_DSR) acm->iocount.dsr++; - if (difference & ACM_CTRL_BRK) - acm->iocount.brk++; - if (difference & ACM_CTRL_RI) - acm->iocount.rng++; if (difference & ACM_CTRL_DCD) acm->iocount.dcd++; - if (difference & ACM_CTRL_FRAMING) + if (newctrl & ACM_CTRL_BRK) + acm->iocount.brk++; + if (newctrl & ACM_CTRL_RI) + acm->iocount.rng++; + if (newctrl & ACM_CTRL_FRAMING) acm->iocount.frame++; - if (difference & ACM_CTRL_PARITY) + if (newctrl & ACM_CTRL_PARITY) acm->iocount.parity++; - if (difference & ACM_CTRL_OVERRUN) + if (newctrl & ACM_CTRL_OVERRUN) acm->iocount.overrun++; spin_unlock(&acm->read_lock);