Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp133499ybc; Mon, 18 Nov 2019 21:54:28 -0800 (PST) X-Google-Smtp-Source: APXvYqyXTq/XVQUObUo9cgT071AL9AarkfiRAQK1ahLadlYn7Swd0CmxerxNWXexY9aqkTKc1Xm8 X-Received: by 2002:a17:906:22c9:: with SMTP id q9mr32030255eja.198.1574142868190; Mon, 18 Nov 2019 21:54:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574142868; cv=none; d=google.com; s=arc-20160816; b=U14vKSU+aajnPYnT9NIMilK0vNFq/c2zu9PXDdM/0WYj6ZK599o1BI+sqpz8hpUYyy 9AHQDrwNgB4zyxiMXw98RXuIzuLIcqXE9Ew6F6pGOXPa26jLqy8Pi2hMNo1kjKVlsI2L b/tDEBBBBjeWJMTOl/1xuYo0XhsI/FkwHkhUKk0cj51VrMfAF3PDmWn63s9ebQVrxuAA JewlXAmfWD6AFEHKm3oTGJitkGh/wbt4HCOb8xX3LV+hXLh0d32dzq6yT8Lpu4Ymu8v7 GMFyIPHd9pVlfDnrG2e5HnzAfTXaTGXRQWgrWXJp7SnoR95p7wgvzWhweXa1uG8hL6vG UI7w== 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=BJterGWh1Kf1mQkel4/p0KosUZ1xZ4q+IqRxt5gEAsg=; b=xCFzSxwYtidHLHOchaUHLbavoGRjEwsqZne1bDQVvlugeacQMm6smI/J/1RMI18OcK wa+wL3qM0Wwpu61lXEAD81+beQ6egJJJlQjEAzu6gMOjpernFHLDwiWLUWasqhyInyFp aM8/QEJOvtWB10mJMDYr0MdGJMqyLcXj1eJBnW/tuj19FQdh2i8hsyap4OjZFhj+SwHy Rex4BUZqGDwafG5Yq9RVRq2WjsduWm5lEQyHhGVRwTIFBtiucAqHHhrJ4aj+X84Tk8yO 4gWz+vgfJ9E+bTMuJftav5oxnUgRS7gj7CbwmlsndFr2mGw783B8KiLIMaEJM4DsfkQy 0cyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=eMGey3TK; 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 1si13468217ejt.404.2019.11.18.21.54.03; Mon, 18 Nov 2019 21:54:28 -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=eMGey3TK; 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 S1731837AbfKSFvp (ORCPT + 99 others); Tue, 19 Nov 2019 00:51:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:49216 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731829AbfKSFvn (ORCPT ); Tue, 19 Nov 2019 00:51:43 -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 6B753208C3; Tue, 19 Nov 2019 05:51:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574142702; bh=k2A1BTemWvg7On3V9rWsnCXdzojip5BlRvpssb7PQBA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eMGey3TKFaWDzbcWkUTnRHAsKyY+oG5gke7ozMO4NcDnqMDXzvOM20ePyG0Cr3BT5 i1ds4O3V4ncO8mdBYwjZlCa9ojG3gDAGAc6WvQV6ysTA7/VquC1ZTKiHZT85CM+42t 3pDHdVD5xSSSyosh4wqwqT+uLXBiZN7HcJGgHstw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Julian Wiedmann , "David S. Miller" , Sasha Levin Subject: [PATCH 4.14 130/239] s390/qeth: invoke softirqs after napi_schedule() Date: Tue, 19 Nov 2019 06:18:50 +0100 Message-Id: <20191119051330.641783172@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191119051255.850204959@linuxfoundation.org> References: <20191119051255.850204959@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: Julian Wiedmann [ Upstream commit 4d19db777a2f32c9b76f6fd517ed8960576cb43e ] Calling napi_schedule() from process context does not ensure that the NET_RX softirq is run in a timely fashion. So trigger it manually. This is no big issue with current code. A call to ndo_open() is usually followed by a ndo_set_rx_mode() call, and for qeth this contains a spin_unlock_bh(). Except for OSN, where qeth_l2_set_rx_mode() bails out early. Nevertheless it's best to not depend on this behaviour, and just fix the issue at its source like all other drivers do. For instance see commit 83a0c6e58901 ("i40e: Invoke softirqs after napi_reschedule"). Fixes: a1c3ed4c9ca0 ("qeth: NAPI support for l2 and l3 discipline") Signed-off-by: Julian Wiedmann Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/s390/net/qeth_l2_main.c | 3 +++ drivers/s390/net/qeth_l3_main.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 2845316db5545..6fa07c2469150 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c @@ -869,7 +869,10 @@ static int __qeth_l2_open(struct net_device *dev) if (qdio_stop_irq(card->data.ccwdev, 0) >= 0) { napi_enable(&card->napi); + local_bh_disable(); napi_schedule(&card->napi); + /* kick-start the NAPI softirq: */ + local_bh_enable(); } else rc = -EIO; return rc; diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index d9830c86d0c11..8bccfd686b735 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -2849,7 +2849,10 @@ static int __qeth_l3_open(struct net_device *dev) if (qdio_stop_irq(card->data.ccwdev, 0) >= 0) { napi_enable(&card->napi); + local_bh_disable(); napi_schedule(&card->napi); + /* kick-start the NAPI softirq: */ + local_bh_enable(); } else rc = -EIO; return rc; -- 2.20.1