Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp731398ybz; Sat, 25 Apr 2020 03:06:14 -0700 (PDT) X-Google-Smtp-Source: APiQypLM4M1u/KtfDzgWpJc+ClIY3OMVMa0IVRMimzK+0/vCYRLuL4GybUPWc8n6o0kF1YuCbf42 X-Received: by 2002:a17:906:548:: with SMTP id k8mr10859766eja.259.1587809174326; Sat, 25 Apr 2020 03:06:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587809174; cv=none; d=google.com; s=arc-20160816; b=qzczJdlysz0qlv3tas1+zFq3fVJaKFx/RyHX++f1sm5BlfC4x2Zr+2APDFLj+H6VF7 baqXOCqnsxkKOgAkuVhwj4IJP0bRgkXdlIbA231HZY7CTrtoZojVI0igSDP8iFvRLYLg 1ixDuvaSxL7GJqgKTPnLYMR3VnF9kyW2/73k+Rm687r4wNQwTzHyD/dKLY2X5cuOOOtJ Dl8r+j41JYWK+HAnm09p3H5vAXS/EkG4/Yxf+jk3bzVrcF3wWvSCyidTjry2SM11RqDy Iq4GwiHQsdjhMjCxtEDL9pqq3neievPeYZrZ7oPLTL86zJlOOJV7T/A4SoMfrk6wz02g KU6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:cc:to:from; bh=F2R6mI+Zuav1wz11WoXGsBd2ZabVM6Ww/TazOj/0ozQ=; b=AMtHBShKnhRTp0Q8toXypf6VJzUpOW4uKwpmWCGYn3wz/Cra6Uzjfwm9F34Q2SNPYq j71prGao6tqHV3UOhz3Nvvb9O/PXism2/l7xoIRxa9cDkDOfcWMtg6ouuZLehICCqlaA K8GUiLBaX1TYDkWlW1y1NcoyePIeuWXvYvtRWNLnailAZRK3WaY/REenM4QNFde/KTTv gDXImc7DClnPu2GS08S3CJ+PC1KnEif4xXsOSF1WMDzWMJUk6c65iM4jNVfjoyrM6NDL dR61UXpKvH7oObM06mgtIF7s4pUxt1775qnDj10oFDGb07ihx6/4g7Z08LrMgdxP84HV BLmw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p32si4788423edb.535.2020.04.25.03.05.42; Sat, 25 Apr 2020 03:06:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726355AbgDYKFS (ORCPT + 99 others); Sat, 25 Apr 2020 06:05:18 -0400 Received: from paleale.coelho.fi ([176.9.41.70]:58256 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726335AbgDYKFR (ORCPT ); Sat, 25 Apr 2020 06:05:17 -0400 Received: from 91-156-6-193.elisa-laajakaista.fi ([91.156.6.193] helo=redipa.ger.corp.intel.com) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1jSHgR-000P3t-1T; Sat, 25 Apr 2020 13:05:15 +0300 From: Luca Coelho To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org Date: Sat, 25 Apr 2020 13:04:56 +0300 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200425100459.2778317-1-luca@coelho.fi> References: <20200425100459.2778317-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on farmhouse.coelho.fi X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, TVD_RCVD_IP autolearn=ham autolearn_force=no version=3.4.4 Subject: [PATCH 08/11] iwlwifi: mvm: don't transmit on unallocated queue Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg We can currently end up transmitting on an unallocated queue, if the allocation fails. Stop doing that, by simply not transmitting. We don't have any better strategy here, unfortunately, but the previous commits make that much less likely. Signed-off-by: Johannes Berg Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c index 3e16bd4190ff..bff520087ed7 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c @@ -1395,7 +1395,17 @@ void iwl_mvm_add_new_dqa_stream_wk(struct work_struct *wk) if (tid == IEEE80211_NUM_TIDS) tid = IWL_MAX_TID_COUNT; - iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid); + /* + * We can't really do much here, but if this fails we can't + * transmit anyway - so just don't transmit the frame etc. + * and let them back up ... we've tried our best to allocate + * a queue in the function itself. + */ + if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) { + list_del_init(&mvmtxq->list); + continue; + } + list_del_init(&mvmtxq->list); local_bh_disable(); iwl_mvm_mac_itxq_xmit(mvm->hw, txq); -- 2.26.2