Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp2453750imd; Fri, 2 Nov 2018 11:40:16 -0700 (PDT) X-Google-Smtp-Source: AJdET5eJ2f2MQ9sTB4vT1S5DRV93xWF0mx3yAmbOS8FkGc3Bzn5q6DuNbmcuItvs6euZnU8OE3E4 X-Received: by 2002:a62:2606:: with SMTP id m6-v6mr12753578pfm.104.1541184016710; Fri, 02 Nov 2018 11:40:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541184016; cv=none; d=google.com; s=arc-20160816; b=KA2Ywun08Ee+aT8kxbMpovmI90mpzq8JdK+QVOetCT7pIJWNNvm+S3hHsmUNO3faoD m4zKYqT17vMFrLPT1QsEbsR1/auqmJ1yq1l5mtsmstPCDg5ciMrcn36zxBocfU/7O5rJ 7nKcO67aqeXOQbCLCMyiU+SzegsoKrKBgeFtjYCkxo47cPw369d0V+Cwoej8QThSvWfa QTX1165hvD5+f8PEJpdSsTY7BC19jQwebnYNBvFiwrYjbr88/VjE6F8rITGrSeyd9XEH VcGkkVXoLoCsZRbdBBQnhrfIcgF7ZwyJEliZsYq3Q7ZCQo5MpPM14vFyjKZhriYnhLvc l8gQ== 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=gtcEu/7hU75XH/aLl84iFZoi1KMmeZuhVLOylFLowxk=; b=Knt1kr0igPcm2RMLaBB2JB9Jso8Y/6GnZMM9ew0aF9pzxrriLHAKRIhVWllHO+YA9m n3+hUsP3jK5puKjW7LFiPBoSD3wrpyhQBJ0R7kw2RPy393RWCLJlsW5wiGTgsXnzQ/fH YtprQKgXbzxGJ/ORNZYLDeBrJ48v5+1PhlRiTbx/jZ/t4IScYkS5WNhCAZRgIdZkwjNI o+rjASvgsG/Ljnl4Q644tsjNMZgMWTcbkoEeAnPxQkzA28BmD+1MXSKqxyi+4MYW9tO7 xaxlviy2UUBV6FIuVCkeFsRVWvBKtkVDv2MDS6K9NyVWqURbv8QYaWskMUMhcNFcciqq C+EA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PgKTOdvp; 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 w19-v6si34599951pgl.278.2018.11.02.11.40.01; Fri, 02 Nov 2018 11:40:16 -0700 (PDT) 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=PgKTOdvp; 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 S1728961AbeKCDrA (ORCPT + 99 others); Fri, 2 Nov 2018 23:47:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:40932 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728028AbeKCDq7 (ORCPT ); Fri, 2 Nov 2018 23:46:59 -0400 Received: from localhost (5356596B.cm-6-7b.dynamic.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 1B8D82081B; Fri, 2 Nov 2018 18:38:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541183928; bh=7/RRwS/6dMPAFolNl8QKKISx1OVJaTIoGco0JmOsCog=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PgKTOdvpxwsOrRFp1uptgn1aiVB6B774eXJWgzoXNUcoQShBC1NH5Fh5TEQ74KglJ kRZqRIbh9TsPefHRk0xtnPBQJ3K1qn8eSPYJgAmvxIJVU1mgXaM7bN+/lCUT5DPoi8 pJlW9fMnoRKeSAzWkPtVFOEf8sP5U7JVc/+pOt4w= 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.18 007/150] mac80211: fix pending queue hang due to TX_DROP Date: Fri, 2 Nov 2018 19:32:49 +0100 Message-Id: <20181102182902.989850676@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181102182902.250560510@linuxfoundation.org> References: <20181102182902.250560510@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.18-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 9b3b069e418a..361f2f6cc839 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1886,7 +1886,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