From nobody Fri Nov 14 02:26:22 2025 X-Original-To: dev-commits-src-main@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 4d71Gl0GwYz6Gh8n; Fri, 14 Nov 2025 02:26:23 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4d71Gk60jbz3rqc; Fri, 14 Nov 2025 02:26:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763087182; 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=MDBxt6hCURneLSHGsfp7oQy/EnOVrOSHw/jwujKwg6w=; b=AZ2yw0XtjMRE+nUtFK+gUSnpTx8I79XkeqCOsNeLVRPrDuf09itieR7s9uxcIm9z683DJA dfUM6skbENUNB4OBWfq3bKkhA5teQpdYqtV2fVjjJEuXTfCfq+dqhkRIoaZfQPM4D6+L/3 116aC4NOt/ysCxnaD0ierRcseEnQIuanUDZR2k6cCT+AT+11Hza/5mdDos3UJv2C9wpPLC VQntc60RIT67o0qQSi/qMX+flpA7zTRJ8ixMrk+IfrpVSJLUHVAIAq8vwFF1qAI/2sJ2EQ DRslPmtKAu5t1sPsF9PTsPV1D8pf+XLdMtJRzvqS1i1aYum2/iqQfBLBvqa5+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763087182; 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=MDBxt6hCURneLSHGsfp7oQy/EnOVrOSHw/jwujKwg6w=; b=BGtF6J0B+lBt6sPj0k3q1T8/FZPLZb48V/28YFeEml92uL/RXkUTB4zAwXczUVG4RlLv8a iLZGwp1LsNttiqrGv7kpAZNfaoHFabRxkacEnOOd2eWNAKqdXEdZpFIMhwnwD4+o5EMrVf bp9Mbe81TPhkUzUWFXKzq3W99HV1G5gNgIC8miTFFvweKmr0ZHBsDRxXd/eh9ovhT2e6yX qxV5H3PoAMJrSp4QQC/50lO7nvdQckweaTtykUwDgaSay7akuDlrDKj2UDnWdpJov24zri L6jtGEKPBj8LfWQSRnVpCtnQaoqxw1vIQu6xGj690rqZJhTmDyNHLd2k5XwQfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1763087182; a=rsa-sha256; cv=none; b=iqHKT8ti++A2dkK8EU9M4Cg2gBKgUy7lx70Sp44OplfPYFIAHJheRwmYzaBpQSMMqnOoHl XgrgGkcrg/G+gfJPQnqjDjIuQA0rdXNtlNo7HNtKVDpgfzD8+rozAbDJPMzXX0chRoDfKz o8YW2wkBKPCrFuEYQOejXrZm9Hy62u5ok9A0sG6DFePw+7sYmvcoo3RoJ/5f+U0BVpKx5o OHKtCJbWmx//GwC78380dKk+hQztOxjhBZz9f1oG065iVLNUw7PryuQXnrtTMZxnknFvG3 7ho4Pqzr0CWOsgKrEdS2AEpuMHL1erW7FM66t4iM0wcy8SZtiqKSZfsSWYNwaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4d71Gk5Z3TznWv; Fri, 14 Nov 2025 02:26:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5AE2QM4i080748; Fri, 14 Nov 2025 02:26:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5AE2QM0a080745; Fri, 14 Nov 2025 02:26:22 GMT (envelope-from git) Date: Fri, 14 Nov 2025 02:26:22 GMT Message-Id: <202511140226.5AE2QM0a080745@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 5431dafdb965 - main - mtw: convert to new net80211 crypto key API List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5431dafdb9659fb578fa2b9944005e15f50d4038 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=5431dafdb9659fb578fa2b9944005e15f50d4038 commit 5431dafdb9659fb578fa2b9944005e15f50d4038 Author: Adrian Chadd AuthorDate: 2025-09-25 18:29:00 +0000 Commit: Adrian Chadd CommitDate: 2025-11-14 02:25:34 +0000 mtw: convert to new net80211 crypto key API * constify mtw_write_region_1()'s data field * convert to use ieee80211_crypto_get_*() * .. note that rx/tx mic data routines are explicitly being called, as this NIC is doing TKIP + MIC offload Differential Revision: https://reviews.freebsd.org/D53704 Reviewed by: bz --- sys/dev/usb/wlan/if_mtw.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index 6967e5081542..8384c0a2d9fc 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -174,7 +174,7 @@ static int mtw_read(struct mtw_softc *, uint16_t, uint32_t *); static int mtw_read_region_1(struct mtw_softc *, uint16_t, uint8_t *, int); static int mtw_write_2(struct mtw_softc *, uint16_t, uint16_t); static int mtw_write(struct mtw_softc *, uint16_t, uint32_t); -static int mtw_write_region_1(struct mtw_softc *, uint16_t, uint8_t *, int); +static int mtw_write_region_1(struct mtw_softc *, uint16_t, const uint8_t *, int); static int mtw_set_region_4(struct mtw_softc *, uint16_t, uint32_t, int); static int mtw_efuse_read_2(struct mtw_softc *, uint16_t, uint16_t *); static int mtw_bbp_read(struct mtw_softc *, uint8_t, uint8_t *); @@ -1277,7 +1277,8 @@ mtw_write(struct mtw_softc *sc, uint16_t reg, uint32_t val) } static int -mtw_write_region_1(struct mtw_softc *sc, uint16_t reg, uint8_t *buf, int len) +mtw_write_region_1(struct mtw_softc *sc, uint16_t reg, const uint8_t *buf, + int len) { usb_device_request_t req; @@ -1286,7 +1287,8 @@ mtw_write_region_1(struct mtw_softc *sc, uint16_t reg, uint8_t *buf, int len) USETW(req.wValue, 0); USETW(req.wIndex, reg); USETW(req.wLength, len); - return (usbd_do_request(sc->sc_udev, &sc->sc_mtx, &req, buf)); + return (usbd_do_request(sc->sc_udev, &sc->sc_mtx, &req, + __DECONST(uint8_t *, buf))); } static int @@ -1911,7 +1913,7 @@ mtw_key_set_cb(void *arg) /* map net80211 cipher to RT2860 security mode */ switch (cipher) { case IEEE80211_CIPHER_WEP: - if (k->wk_keylen < 8) + if (ieee80211_crypto_get_key_len(k) < 8) mode = MTW_MODE_WEP40; else mode = MTW_MODE_WEP104; @@ -1936,13 +1938,19 @@ mtw_key_set_cb(void *arg) } if (cipher == IEEE80211_CIPHER_TKIP) { - mtw_write_region_1(sc, base, k->wk_key, 16); - mtw_write_region_1(sc, base + 16, &k->wk_key[24], 8); - mtw_write_region_1(sc, base + 24, &k->wk_key[16], 8); + /* TODO: note the direct use of tx/rx mic offsets! ew! */ + mtw_write_region_1(sc, base, + ieee80211_crypto_get_key_data(k), 16); + /* rxmic */ + mtw_write_region_1(sc, base + 16, + ieee80211_crypto_get_key_rxmic_data(k), 8); + /* txmic */ + mtw_write_region_1(sc, base + 24, + ieee80211_crypto_get_key_txmic_data(k), 8); } else { /* roundup len to 16-bit: XXX fix write_region_1() instead */ mtw_write_region_1(sc, base, k->wk_key, - (k->wk_keylen + 1) & ~1); + (ieee80211_crypto_get_key_len(k) + 1) & ~1); } if (!(k->wk_flags & IEEE80211_KEY_GROUP) ||