Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp44799imu; Thu, 8 Nov 2018 14:28:35 -0800 (PST) X-Google-Smtp-Source: AJdET5cIMbNB/LmLIf5SO2PKLOEOhl+ezDdlmPWuV85AhOi6f9S8c7NmifjKyXVqYQBWbvVgMdb7 X-Received: by 2002:a62:5dca:: with SMTP id n71-v6mr6644873pfj.54.1541716115750; Thu, 08 Nov 2018 14:28:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541716115; cv=none; d=google.com; s=arc-20160816; b=GBq4ORySxFvPi5XDv9lugDC1FmvyV5vgoCuCBwAnSKWat+xUJN4RIwRSoPi8rNfxXt bnRMBxMUFfC7igs7mloBNQ9E27jvdb3cc4JcYHSHR50T2Yj7vGNelKU48olJVEaNUlhK sW38CM7Er6KZHpaGINM+/EoWzSr1+Q/HkuvouutLf6jUvFgs7VTVz14HWWHJLurrBB7P LfR8ssC0iUPwF7EpCv9dYP9j69sUpsqCIU8F0MdSuGoPCnfrobKnK4cvnvKwP7DeYMkB QiEI/G1w+DFT5w1Ach36e5RMk9ElczxoOWDT0SKuidrd2vR9Ei24KR4LURQiiFLT1SVI 5RsA== 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=bj3rAs6PZW5r0KBNRx63FfWhRMCTWE4A+X0WiOq42eU=; b=zhNmKtNKl5M2C5dVnipTXBza/ug7DS/unvc2YQzdU7dc92XIQ9cmOdgZ7TrY+Uq2U4 Nn86A2qRSzCv8sqqhlYv5CqpZ/V5pOys6MqO07a8SliE6VJrHMvPwQIn/S/eJQCbo8TA S2EvWX5Za8Zc/rcpR0Zq0fQg7SgFIfGfSKnG/p1RMGNIlKQ/Avv1bXBDLD7R0YVLuQst SrSPsbCI7t9itcfRi6MRPtRiUlM8m+wG/LHMm69kmw9BWa8jKRPrUhFZ0Zwm57UAqFWP xLCt3NZrGEJh0J3cNumXllhv86+6+IB7fnviaB7RuT79oEIj2gHLtxlJwZ9/6JVIDXf6 P+Pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dST5E+N5; 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 a5-v6si641099plh.157.2018.11.08.14.28.20; Thu, 08 Nov 2018 14:28:35 -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=dST5E+N5; 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 S1729666AbeKIIFf (ORCPT + 99 others); Fri, 9 Nov 2018 03:05:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:59300 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731004AbeKIHjh (ORCPT ); Fri, 9 Nov 2018 02:39:37 -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 ABF0521479; Thu, 8 Nov 2018 22:02:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541714527; bh=pwJ3ynuhfSoL7+6bVUuep2PUaiVhS0EGku1oL4rtqh4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dST5E+N52j4rGIDVlcBpHEYPoxJCHuXWcTyKkxlTAv9DfHModNl9q8ycLkJ23FAV2 TbFoJjszlPysXnjITqSpe+ifapfaQxT8lGm8KQCAsBMvYOiMBU8fXt+AunKZLWLin7 jJZF8HFc2gtL7jltNfGtjX94kTYHOjsIRCczBqZ0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Bob Copeland , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Johannes Berg , Sasha Levin Subject: [PATCH 4.9 005/171] mac80211: fix pending queue hang due to TX_DROP Date: Thu, 8 Nov 2018 13:49:35 -0800 Message-Id: <20181108215127.583789452@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. ------------------ [ Upstream commit 6eae4a6c2be387fec41b0d2782c4fffb57159498 ] In our environment running lots of mesh nodes, we are seeing the pending queue hang periodically, with the debugfs queues file showing lines such as: 00: 0x00000000/348 i.e. there are a large number of frames but no stop reason set. One way this could happen is if queue processing from the pending tasklet exited early without processing all frames, and without having some future event (incoming frame, stop reason flag, ...) to reschedule it. Exactly this can occur today if ieee80211_tx() returns false due to packet drops or power-save buffering in the tx handlers. In the past, this function would return true in such cases, and the change to false doesn't seem to be intentional. Fix this case by reverting to the previous behavior. Fixes: bb42f2d13ffc ("mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue") Signed-off-by: Bob Copeland Acked-by: Toke Høiland-Jørgensen Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/mac80211/tx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 84582998f65f..58fba4e569e6 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1833,7 +1833,7 @@ static bool ieee80211_tx(struct ieee80211_sub_if_data *sdata, sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; if (invoke_tx_handlers_early(&tx)) - return false; + return true; if (ieee80211_queue_skb(local, sdata, tx.sta, tx.skb)) return true; -- 2.17.1