From nobody Mon May 25 04:33:59 2026 Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 739001A6802 for ; Tue, 19 May 2026 02:03:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779156217; cv=none; b=Nb9ehe07Y7hjbxZceDoQRw3NE0nrmYvX0RXiuj9Uu2dleegJVLKulesNK5A0Je02GqHwREG1ULEfhgYv4UaFwzoNbHxYsempcYSA9aTa8wirEkP11VhBj8sy9ggs2li8zSrtI9NfOyJbEbXqHFUCj+nFFsn5QIdXRNcwa5iBKY8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779156217; c=relaxed/simple; bh=+2ks5IyZDIpyKrflcXcqYihPSNSz0qlvjHFT6HtFca8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=rBg99WT6/hk6QLfZVDul+YWMdG4fdXGkuyNmQgSmkJC4OU3Ie0w9kxn0DxODzZ5SKg+d52sWJxPDR994yLUrT44/h6vw6aKauJNBgP5Tq/BwQmQLtnU2jKkJoVp5cXW7EJwPxt6NBu8x6Y9t0JZeXyThgPiZfc1MVZDD9u2iB1w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WeuzRlJF; arc=none smtp.client-ip=209.85.160.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WeuzRlJF" Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-50d87610513so38861071cf.3 for ; Mon, 18 May 2026 19:03:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779156215; x=1779761015; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=poH9AbfhQYjUo+75MNUZiyRZvCuirjY3PJxBjhTKSTQ=; b=WeuzRlJF9c0HcQfOL43Dn8wOsOUo2LYNeAV84cKq1GbeqdIR2CRoIldwADpgxYJmyd 8AW4jwXzUWFqmzm05YCZATQQPYv9/tIHbkRid/xtq+mzvEO1RwNXWEP+eDPtGPeuB1JV 9HO76N9YBkxZ5llMRDvx0y2KBuTzhBPZaBTewEKqWzIji8ekSCdcwfgZvZS9AY4VuYk/ Hn1sUF1foC/bXNTkoxoD8zUAIRDigyxnAunnC7iT85Y0Y/Rh84li379v4vCl+lqCInAU sMvy1ihAUC/qESdnOpjsFxWLxw3hRTYGlKVquH4RRcTtZyX5LH02EwJBee6y0wu5YS1m mLJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779156215; x=1779761015; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=poH9AbfhQYjUo+75MNUZiyRZvCuirjY3PJxBjhTKSTQ=; b=pPVmO2EzzjdBUZ6UY6BM4SKjAcg3WraSHul+jBzmkw76HxR5kfXdOdQ1FU2DLbRtTf JAwpH8R2Ir+LtDmmcgQhn+2hVdBnS2DPzVHqvrbbYWNjX4Kb/6crp8UHpdvtKhHe5ZZ4 anu0FA5ZvcEFD7MQeottOiuGoOzJdiQjdKCguIsxHZ/og/PgoMk8pyT2m3zxlyEU2225 nWrSrObEr+B9svxG8LGQao7zCQSkmvegQRgJIQ+B5CZOP/0ZACXa2auWgT3emmWUB8m+ TPDLY/kt7IUKGzAA5u1/bWsx2+BtAjYEaMw3YhOjTNPh/9aH4KDXksLb5jV9FqTnNfFg pBiw== X-Forwarded-Encrypted: i=1; AFNElJ+XwureVPWncUmFNmEiUZywm9KPphdL+xUClDpGhyorZIXn4fBiVbm88XOHOoiaJVyyc9OtZz6qn8OZAlE=@vger.kernel.org X-Gm-Message-State: AOJu0YzgzP5B/PUyrGXhnXjPfSOZt9K6z6bCStoM6MxO9CIW2C3kFY6d PkgAmn3grDT5/27CokGwWp5HQgdqnXjVhRmyd0KqZG3SaTKZx43fzoDY X-Gm-Gg: Acq92OGnzb5f+nv/8A4SzIe4JaPdhiyvGOLs6lwH9qJ2nWGiE1hstueyTeMtHL0C1RY A33+uuVEhwWr8VGYDyFnL97ZXuzdONBNsSWOCVCAz+kvbzlvpVPguZYd85qDkAmHrtwUjz2peL/ zYbUmXKqfhPvCf62t16ImXKSG6I4IgYPMC2Ma4wsRCzS57KBelIGlXPB/x0W+OcMvHscvuYzQ81 a/booXi+KtoN3pIipOy9oncWIkw8E65H/mHU3Ri62bRPL7mpKbC/9DM/Vqcga7K0+T47U3lNLjv cFHHAlP9kdHmeHIu09a+JGFsqhwR2Xu9pKGJsJvM7tBiA5g07Jr3eqQCWHIPJgwROwtOau13PJl IAP2labCBcAj6B+kOOpHN3VGkTBUMg+2L9VCOYHkgp9QJrGA0kcrvKZ2MPK3HBb4Z45aUU5NqXy kzyDFIsT/L8eVBtIjX/EDmdniAfStVN0Chsj+lSHK6nEkIQKtdYvdjWDqF3TxNVOSVBdXVGkdzp JrusjB1V+wzaYJNuV1QB33sQ8RHtyUgrecnCL4kQWe74wJQHDfk76CH X-Received: by 2002:ac8:5996:0:b0:509:35d1:ca3c with SMTP id d75a77b69052e-5165a007384mr241207301cf.5.1779156215389; Mon, 18 May 2026 19:03:35 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-516456d5c4dsm148874901cf.12.2026.05.18.19.03.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 19:03:34 -0700 (PDT) From: Rosen Penev To: linux-wireless@vger.kernel.org Cc: Loic Poulain , wcn36xx@lists.infradead.org (open list:QUALCOMM WCN36XX WIRELESS DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCH wireless-next] wifi: wcn36xx: allocate chan_surveys with main struct Date: Mon, 18 May 2026 19:03:17 -0700 Message-ID: <20260519020317.635011-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Avoid allocating separately with a flexible array member. Simplifies allocation slightly. Signed-off-by: Rosen Penev --- drivers/net/wireless/ath/wcn36xx/main.c | 13 ++----------- drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 2 +- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless= /ath/wcn36xx/main.c index c3f0860873de..ad8a4bd910d2 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -1568,7 +1568,8 @@ static int wcn36xx_probe(struct platform_device *pdev) wcnss =3D dev_get_drvdata(pdev->dev.parent); - hw =3D ieee80211_alloc_hw(sizeof(struct wcn36xx), &wcn36xx_ops); + n_channels =3D wcn_band_2ghz.n_channels + wcn_band_5ghz.n_channels; + hw =3D ieee80211_alloc_hw(struct_size(wcn, chan_survey, n_channels), &wcn= 36xx_ops); if (!hw) { wcn36xx_err("failed to alloc hw\n"); ret =3D -ENOMEM; @@ -1590,16 +1591,6 @@ static int wcn36xx_probe(struct platform_device *pde= v) goto out_wq; } - n_channels =3D wcn_band_2ghz.n_channels + wcn_band_5ghz.n_channels; - wcn->chan_survey =3D devm_kcalloc(wcn->dev, - n_channels, - sizeof(struct wcn36xx_chan_survey), - GFP_KERNEL); - if (!wcn->chan_survey) { - ret =3D -ENOMEM; - goto out_wq; - } - ret =3D dma_set_mask_and_coherent(wcn->dev, DMA_BIT_MASK(32)); if (ret < 0) { wcn36xx_err("failed to set DMA mask: %d\n", ret); diff --git a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h b/drivers/net/wirel= ess/ath/wcn36xx/wcn36xx.h index 7ee79593cd23..8c43f67bd780 100644 --- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h +++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h @@ -298,7 +298,7 @@ struct wcn36xx { struct ieee80211_channel *channel; spinlock_t survey_lock; /* protects chan_survey */ - struct wcn36xx_chan_survey *chan_survey; + struct wcn36xx_chan_survey chan_survey[]; }; static inline bool wcn36xx_is_fw_version(struct wcn36xx *wcn, -- 2.54.0