Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3134465pxb; Mon, 25 Jan 2021 07:50:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJxChNLO+T1kf9R1HA0eI0+VTDmTZ9C+xP08kNjMvbG7LdKEmS/mjFUjv7NdgB7FTliOS5eq X-Received: by 2002:a17:906:c410:: with SMTP id u16mr747304ejz.159.1611589812870; Mon, 25 Jan 2021 07:50:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611589812; cv=none; d=google.com; s=arc-20160816; b=UguMBEiosbIg03LO+4M8TWdMnHFKBaP5yYXt4SgIqkeyBr+CIbMB3BTEI0s4FpHEUz x04A+Mh9lIJl3E4gld3bNDIHyqCybzhayAH6mFzoOLMlEOvchwR2SCX3Q8JDvDfvTRy6 bhObjaH10d4jJl727Hqs3aXoktE3vaW0460sbVo/Iiph5f1ne+/KaoZfah+rGZZln6FG EsLV9TWtOpytFEzFEg5I5quWzB1/M5WVMlk59nIDmtg4qucsqkKpWOrkceffWeGSd5TV 2j8x9mjQEDbt05h52rWQJ7dPDKGbisLnFeiVlOap43VDRuWNowtKaZsVRObyxoOMzupe HiCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=lyArRgBRJViVYVTL32KfwUUICnuV29lIxcx07GHYGVE=; b=0YOhkD1g3nqebl2cXkmC5z4lwvl0lAT8kNkPF8B5r6quSPqPd6whuGoXjYLrTmNhyQ JeZDgFpOubwG4woUb3+rM1kzY8ebI5YileMOyA6+cs5HqSV7gBN0NtWAbbrgTfPWOvyL 0/rmz8KWzzq3zX0LNmN3m6fnRrnallOoRG6/DLs33meZcoNPf23jB2Vp7liOil+e6wD6 22uA5QwiunJoodDxLKMHdF1X/rxj4RZyupfcamI80BuGu6iau5DOrK3Cyw+i+SA8+AZX ylYr3Or5YTFwwIypJvld3CNYgW/gVfYSW6XLY2lDd3Q7hE21HD10YMEZdHyetSgQtlIo hicA== 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 f20si7626662edq.165.2021.01.25.07.49.47; Mon, 25 Jan 2021 07:50:12 -0800 (PST) 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 S1730284AbhAYPrU (ORCPT + 99 others); Mon, 25 Jan 2021 10:47:20 -0500 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]:41839 "EHLO outpost1.zedat.fu-berlin.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730419AbhAYPrQ (ORCPT ); Mon, 25 Jan 2021 10:47:16 -0500 Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost.zedat.fu-berlin.de (Exim 4.94) with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (envelope-from ) id 1l43TK-003mVf-Cv; Mon, 25 Jan 2021 16:08:06 +0100 Received: from a36t-ffs1.berlin.freifunk.net ([77.87.51.11] helo=mi.fu-berlin.de) by inpost2.zedat.fu-berlin.de (Exim 4.94) with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (envelope-from ) id 1l43TI-003QZF-TX; Mon, 25 Jan 2021 16:08:06 +0100 Received: by mi.fu-berlin.de (sSMTP sendmail emulation); Mon, 25 Jan 2021 16:08:03 +0100 From: Philipp Borgers To: Johannes Berg Cc: linux-wireless@vger.kernel.org, Philipp Borgers Subject: [PATCH] mac80211: add STBC encoding to ieee80211_parse_tx_radiotap Date: Mon, 25 Jan 2021 16:07:44 +0100 Message-Id: <20210125150744.83065-1-borgers@mi.fu-berlin.de> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Original-Sender: borgers@mi.fu-berlin.de X-Originating-IP: 77.87.51.11 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org This patch adds support for STBC encoding to the radiotap tx parse function. Prior to this change adding the STBC flag to the radiotap header did not encode frames with STBC. Signed-off-by: Philipp Borgers --- net/mac80211/tx.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index ebb3228ce971..cd53675d9955 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -2038,6 +2038,7 @@ bool ieee80211_parse_tx_radiotap(struct sk_buff *skb, u16 vht_known; u8 vht_mcs = 0, vht_nss = 0; int i; + int stbc; /* check for not even having the fixed radiotap header part */ if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header))) @@ -2133,6 +2134,12 @@ bool ieee80211_parse_tx_radiotap(struct sk_buff *skb, if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_BW && mcs_bw == IEEE80211_RADIOTAP_MCS_BW_40) rate_flags |= IEEE80211_TX_RC_40_MHZ_WIDTH; + + if (mcs_known & IEEE80211_RADIOTAP_MCS_HAVE_STBC) { + stbc = mcs_flags & IEEE80211_RADIOTAP_MCS_STBC_MASK; + stbc = stbc >> IEEE80211_RADIOTAP_MCS_STBC_SHIFT; + info->flags |= stbc << IEEE80211_TX_CTL_STBC_SHIFT; + } break; case IEEE80211_RADIOTAP_VHT: -- 2.30.0