Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp834136pxb; Tue, 3 Nov 2020 13:54:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJxEhd7SMa8cAxM6zZ6Ab6XpVsv09IWVQB+4MgYXPUrFWquHcVvs2CUalL0NqpCyj9OaoVzR X-Received: by 2002:a50:cc48:: with SMTP id n8mr24514204edi.137.1604440457637; Tue, 03 Nov 2020 13:54:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604440457; cv=none; d=google.com; s=arc-20160816; b=VWOH7Ava5Y1XZnlrxek/3thRjlSW+rFXdqTkQP4zZVBzjcYsOOkN5vcsGrxLaIFAmU frsqFCIOY6yMfytgDKVhVc82Pii9KidXD4fILX5gO2/ppuw4VWyqm9DjxMZixLLz0pZs MhBxvKQMhebMCPQKK/GwxjBE1YvQwWXJjXGIazS/Cqofo4ITxBDyrhxmgqqfZJAge0Cw nVavVtdFHHk/Ycr72GrC5Q0sc4Bvqbhva+0XAv1ubXYFD22Phq4KngRa7fPFZ9/ZYWHP N+cBGU9deCszKLtFcD1keDzw3Vw3G9nncvXj4YaeQ2sOU6aGfIU14ludJP6hpZGHFoSK rUxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Dn/z7nf9Y2Uq2Agv5VcaoXVWpVAdzI+SzNqqCUUYgy4=; b=XxGhfswFcfmtGLrif4LLxZC8rjLm0oVRxw0SwF5/qLG1K9ZdqQTiqIjJHPUEgyoyY0 KquZRtGKgJCz+E5xvOWYm/tuGpdp8iRydUHeyjQTf53BEd2ANlV3oUWh6v86iDfy7nXB qG/87YkVrQtkV2yKVEkSGJuqH+13OPaJ4drN7dtEOQR3IAB0xNjXYY5sFVVLVSZw25PH VwkM7gH9zoI7FiCoDMxGv9GLmTycXzPFT7E7ZX/wuk0fZQeaXHhfhAHdpbB7wZvOes77 m+PBtS2ZfqFl2m0vQXV76hO3PecgrZxL2KBiKh7BIkZxhIE5rGl/ISHwh0Rg3p+B50Yy rLtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="DVdajZ/T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w8si105757ejo.321.2020.11.03.13.53.54; Tue, 03 Nov 2020 13:54:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="DVdajZ/T"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731388AbgKCUrq (ORCPT + 99 others); Tue, 3 Nov 2020 15:47:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:38386 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731381AbgKCUro (ORCPT ); Tue, 3 Nov 2020 15:47:44 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 270AC20719; Tue, 3 Nov 2020 20:47:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436463; bh=4iIu57LZw99xO5TmaDLQ9Qk6BI5wQNdxRHxlLCn9hHE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DVdajZ/TxltMi+ZnRegGJomz/a4gDEbOfxIzoDxs9rzYa79wOsk3sX8O2oiLdXN5k gK0s2A8vJ+EEogSeaDPLuwOyqyA5eIMaRA7Fp/+qODEdOegwqpcAK0lB3ZHMFvwniC 9BqqszM8h59jDBXny3wnwzVCTvL3VKuW1NIj1kbA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King Subject: [PATCH 5.9 259/391] tty: serial: 21285: fix lockup on open Date: Tue, 3 Nov 2020 21:35:10 +0100 Message-Id: <20201103203404.500668101@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Russell King commit 82776f6c75a90e1d2103e689b84a689de8f1aa02 upstream. Commit 293f89959483 ("tty: serial: 21285: stop using the unused[] variable from struct uart_port") introduced a bug which stops the transmit interrupt being disabled when there are no characters to transmit - disabling the transmit interrupt at the interrupt controller is the only way to stop an interrupt storm. If this interrupt is not disabled when there are no transmit characters, we end up with an interrupt storm which prevents the machine making forward progress. Fixes: 293f89959483 ("tty: serial: 21285: stop using the unused[] variable from struct uart_port") Signed-off-by: Russell King Cc: stable Link: https://lore.kernel.org/r/E1kU4GS-0006lE-OO@rmk-PC.armlinux.org.uk Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/21285.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/drivers/tty/serial/21285.c +++ b/drivers/tty/serial/21285.c @@ -50,25 +50,25 @@ static const char serial21285_name[] = " static bool is_enabled(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - if (test_bit(bit, &private_data)) + if (test_bit(bit, private_data)) return true; return false; } static void enable(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - set_bit(bit, &private_data); + set_bit(bit, private_data); } static void disable(struct uart_port *port, int bit) { - unsigned long private_data = (unsigned long)port->private_data; + unsigned long *private_data = (unsigned long *)&port->private_data; - clear_bit(bit, &private_data); + clear_bit(bit, private_data); } #define is_tx_enabled(port) is_enabled(port, tx_enabled_bit)