Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp6025042ybc; Wed, 27 Nov 2019 13:36:51 -0800 (PST) X-Google-Smtp-Source: APXvYqwN3NbsZYBhPInF3BjeOYgnGiUTL8h7r5a2EjgVMwUS6T32Qfgp7whpTs9BRbUx5IRIow+H X-Received: by 2002:a50:a7c5:: with SMTP id i63mr34139109edc.79.1574890604755; Wed, 27 Nov 2019 13:36:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574890604; cv=none; d=google.com; s=arc-20160816; b=EpiO9oB4hWZiGIzUiHjr6qQCRND5DtSgqJ499q4E0nXJ77cv5Pnaau/DJTFw6K5frh sbviaxuohhD8JlmLuavvjF5ldYP94doOjvm6B0KfWvfAkncfZMRKHIY6IWPh/FU21nuI G8U2MgfbG/ab04stIm7jXVbFpFAkuqNteRkGgbCBK9QdV3l0VywU/5VXbdf7AJBQhuad yir4CoyhpN+5TAt+MhCbY0x40MNuNhOANoxa6YNNCfEH9IaDKKzI/ahDA9Sh4B33Nz+t A35bHXRbKm0oMRCqy6T2vd/0lpv3gtXQ4SHTH6c8aAZy8hYG62aildsi+gBtfa5PHBpI Ktaw== 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=oYaAKWCi/RCiTCjtYGEyEhgOVXeo9rvzHDApUB3N9FI=; b=S4TkQ06xxF8ZX6wptyUkSEUEJbr2jcCsEFLa3Y1ehlqxvs5ihTxa66ivQZQezMMqIc RkpyDyq9e/NuPKex70ON2Y1FJ45sblOfqpOiXEPv9gG8qWy308SL/JsuUf7oKFPXNZ1h 5xCHyMGQlcJomikoRZTMtdYdznx1uMqOl2Mglx84dzYfsUPNGb4aqIaU6qpzwYSnrlRP dWZ46Zl/qYGDmahmS6EnTpyCEmDFpIFIYWGGchMOw1ruEkkqbOB4oHzG99neGDFBvq2n XR7vaGjT84s4VBtPdDU+Na0RScWD1WG/LvTGqmYaCHm09kMs4z4ic2tLKGSNtP/y6yKg ZoXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=D14F89c3; 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 bt2si1901263edb.324.2019.11.27.13.36.21; Wed, 27 Nov 2019 13:36:44 -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=D14F89c3; 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 S1730551AbfK0Uvz (ORCPT + 99 others); Wed, 27 Nov 2019 15:51:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:38936 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730539AbfK0Uvv (ORCPT ); Wed, 27 Nov 2019 15:51:51 -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 A505321774; Wed, 27 Nov 2019 20:51:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887911; bh=PZrL9vWqCTiFw2xV4xCtIutuGc0aIhE7zE1PDg4v3/M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D14F89c3dRxUY2VhtqoLKBeAkspsTXjUpK4sqGnSe1z0O5EtXu5hMiJ6AtTxxYZjF 68bjPvMafcnneXaGUjQkLghB5YOqA+IBYtn0euG0u33mfxbMOmY0q1kX2zKhQaeghv zllRKnDsVhK+bP26+Q6tq2eHbVbi21jw4VvdRr/4= 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.14 101/211] um: Make line/tty semantics use true write IRQ Date: Wed, 27 Nov 2019 21:30:34 +0100 Message-Id: <20191127203103.224107150@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203049.431810767@linuxfoundation.org> References: <20191127203049.431810767@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 366e57f5e8d63..7e524efed5848 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -261,7 +261,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