Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp6029545ybc; Wed, 27 Nov 2019 13:42:06 -0800 (PST) X-Google-Smtp-Source: APXvYqzPpu6jHOiytUMGWLGWU+k7F2Ik8uJQC8H2aV/0XPmLcnjb+gQg62sS0pjysmn33b/bjaWS X-Received: by 2002:a17:906:351b:: with SMTP id r27mr52303978eja.120.1574890926325; Wed, 27 Nov 2019 13:42:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574890926; cv=none; d=google.com; s=arc-20160816; b=eC5yhgxVtQRFCWxxvcD9puN2vfOCvoiyxsl0n8JVDw1dYJDiV29yo72nL60hTBz94t az8KXnbYfIH88EXKa27nHiZ+xgemjvLnxkVQ0Jtw/VfvTgzbxqGckYvKgV6sPC++B89Z Mp7vjITaGtoW9ucHrF8euW92ppV/pZt6xctL06FHGfk+slMbaZ0K1VoC/vAzIfyuQrAR u+N3pxOYlz6PndadN25Vel3nQAowceVOPcxzQ4n3u6Qo1H6yBT7ZZ8lmWxCQ9b3UeBKL gJ/qqq3CA8Cf3n0SNMbGrSJmi9jd7hWf1RdeHvTYoGV2FOfM7q4+zoCWI+DGs83C6CjU SzFw== 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=FIlk2Xi2nPztj6chj7qsyPIBSEECEDAdPFjqp2b47dg=; b=gCRULqxUXklPHIhawqW9DlG6S1CR0hMz9H9Vk93lI0kUF9xbd5ZADG9l2YC9eGqDzy RYGxTE3TqU1maYxPUrxC8/3zio4vUgfKIR4wk5Ooj09TgcWS/JvJspsQgff3LjsYMPrQ idGzH8nyaaLrbNVanSQWJrz1i1iO72lbo3oUyU6JQvqYkkyKoLvEMY2lZvK62GrN6zO8 T/Wi5Ymw8jGi4wseIYZh9k1ZfAGq9PDhNvnqMqzezhr/B3xmo8gPOHex412Szk1+14T+ zB14I6Dn2BcfPjBVK2zzV1QMBnwhh9rWYKZyNqiQQq/UZYN26ljFlgiosUDgw1SrCf79 rWag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Sv+AABA5; 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 n19si3706405edb.312.2019.11.27.13.41.43; Wed, 27 Nov 2019 13:42:06 -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=Sv+AABA5; 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 S1729546AbfK0UoI (ORCPT + 99 others); Wed, 27 Nov 2019 15:44:08 -0500 Received: from mail.kernel.org ([198.145.29.99]:52484 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729498AbfK0Un4 (ORCPT ); Wed, 27 Nov 2019 15:43:56 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 D25A8215F1; Wed, 27 Nov 2019 20:43:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887436; bh=dvvlDb/+0VMhtBKkl1moFhh/et82E8jtpyGoaFbPt7I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Sv+AABA5WXqkpQRdq3kJjm/G2+h+/fZ1pRP03VQORV2UNUJ8EcIhxD8pXb+L1lpno FmahgONuzW99v2VToH7CDCCwP2PExMhHMi/7+NA8hvqJxOf14GUaq1UGhAYe9RlnTe GfEnKyLwMEKGDOOlNru1+9DDWZa5e/IB8Gj+lSPM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anton Ivanov , Richard Weinberger , Sasha Levin Subject: [PATCH 4.9 068/151] um: Make line/tty semantics use true write IRQ Date: Wed, 27 Nov 2019 21:30:51 +0100 Message-Id: <20191127203034.236462217@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203000.773542911@linuxfoundation.org> References: <20191127203000.773542911@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Anton Ivanov [ Upstream commit 917e2fd2c53eb3c4162f5397555cbd394390d4bc ] This fixes a long standing bug where large amounts of output could freeze the tty (most commonly seen on stdio console). While the bug has always been there it became more pronounced after moving to the new interrupt controller. The line semantics are now changed to have true IRQ write semantics which should further improve the tty/line subsystem stability and performance Signed-off-by: Anton Ivanov Signed-off-by: Richard Weinberger Signed-off-by: Sasha Levin --- arch/um/drivers/line.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 62087028a9ce1..d2ad45c101137 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -260,7 +260,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data) if (err == 0) { spin_unlock(&line->lock); return IRQ_NONE; - } else if (err < 0) { + } else if ((err < 0) && (err != -EAGAIN)) { line->head = line->buffer; line->tail = line->buffer; } -- 2.20.1