From nobody Sun Feb 20 18:15:53 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id D7FD019CFBD4; Sun, 20 Feb 2022 18:15:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4K1tsP6KTQz4Y9D; Sun, 20 Feb 2022 18:15:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645380953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZZYw2xueGmwYJx1orsHwl3RmBw4azxAoTIEmC9/Xk8=; b=hcZWdRRYBbtLhY4MD4kIACJI2LCyKPaBTtTmOJbGH0ygcRtZ9TT9xg330qhysC9cQr4M// 6EOfTktuP2p3iv3qP2teLcb1cqTe/eKn0mCOw5l8eWqOC9XNrxRyZoVxZ2CqvwVIlhVjJI DQvhMyS+g40GGO9eb2O1S3vT6/7hRpIQUzXc9efn2Mr3qCi42h9QnOgHadvx9H2/ivssFd ayEWH0C3q91tMEyvYnvFjl8V/+LHrllE0r8tLtRrDGVigZiRyqh7DlV3UMLPEq2HZvhQSi VEetC+qYJHTgH9Y5PYYw85Um7AvPxY9R43MFRc103oEafo/YsAszt83z1rWN6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 83C67212B9; Sun, 20 Feb 2022 18:15:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21KIFrIi023288; Sun, 20 Feb 2022 18:15:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21KIFrYm023287; Sun, 20 Feb 2022 18:15:53 GMT (envelope-from git) Date: Sun, 20 Feb 2022 18:15:53 GMT Message-Id: <202202201815.21KIFrYm023287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: d21079b4b85d - stable/13 - LinuxKPI: 802.11: disable ic_headroom for the moment List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d21079b4b85dbf7f73dbccd233d339003d5c6f9d Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645380953; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZZYw2xueGmwYJx1orsHwl3RmBw4azxAoTIEmC9/Xk8=; b=IsTsNSFFgnkirNI3vmeV0zZZr+rjV0f6s2HLg+JD/N5wGNxXHKTXMltqonzqpUuZ4NMP9K MCkgH1dTlskM9TAJj3YbTed2OR80Txk0mFrrjX8dubnDfQD7PmHGxnUlnBciTwEnDqqAq5 mgwGpnWSu9IyvOtwSBJauLdgbpji2nKVCdEZ+DDdkjFv1DKsp8ZuTJQCGoW9RlC9rdAXp1 pc3wKC2rte5dshmrZ96pjQh85iEfX55FACWLsugG+7jj7feT45rIlUvIr1yvgLXqgqqO1R L70xp7fku/iGXMLl75cSX6sBHygAmxQz/hUSNWZH0Fs5Fg7Hhtu6YAN6tESpOA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1645380953; a=rsa-sha256; cv=none; b=aFerSArimNg1EwPkffu5lE/XrG6qLZ5Aw9id3g4mI1gMNkXpNd/yHkMMZoyfLclQcamGL/ 6WFGN/OE/kxQx59ZLa853jzQzu5SenXZWDkL8pvd3IZAL+zteRBd9iLDVzxhTiR4knnUtX QmFT7BJCIV+EWvgpTo0KEzlupHaXfP+P71gQT742bFao14ymOTET4ObD5QlsqISg06wTOs mLnPC2xySr/5GYYzuzGPDAvqSQl31grR8ltyszR6pn2uYjayH/GLc/+4OEh9SqhKq/8LaJ JmX5wYcYN6i3FRd6R5hDFKYtPteNNZkWoYh9/WCuJH2e+FgGZeFwmajhgHGhXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d21079b4b85dbf7f73dbccd233d339003d5c6f9d commit d21079b4b85dbf7f73dbccd233d339003d5c6f9d Author: Bjoern A. Zeeb AuthorDate: 2022-02-16 23:57:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2022-02-20 16:25:55 +0000 LinuxKPI: 802.11: disable ic_headroom for the moment There is a problem with some drivers, such as rtw88, asking for more headroom than we currently can handle throughout the stack (we have other legacy wireless driver in the tree with similar problems). This may trigger an assertion in the TCP syncache where we are checking for a reply to fit in MHLEN. While for the moment we still copy data from mbufs to skbs, we can simply disable the extra headroom request in ic_headroom and deal with it ourselves (which we already did anyway). Leave a link to the thread on freebsd-transport detailing more of the problem so we can find it again and solve it here or there. (cherry picked from commit 3d09d310d9981dde1d6e51fed6ecf9576480b9f7) --- sys/compat/linuxkpi/common/src/linux_80211.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 520ecaf4f4f0..b5fde7e10781 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2423,6 +2423,8 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) /* * net80211 should handle hw->extra_tx_headroom. * Though for as long as we are copying we don't mind. + * XXX-BZ rtw88 asks for too much headroom for ipv6+tcp: + * https://lists.freebsd.org/archives/freebsd-transport/2022-February/000012.html */ skb = dev_alloc_skb(hw->extra_tx_headroom + m->m_pkthdr.len); if (skb == NULL) { @@ -2852,7 +2854,10 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) ic_printf(ic, "%s: warning, no hardware address!\n", __func__); } +#ifdef __not_yet__ + /* See comment in lkpi_80211_txq_tx_one(). */ ic->ic_headroom = hw->extra_tx_headroom; +#endif ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */ ic->ic_opmode = IEEE80211_M_STA;