Commit 4e3db44a authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'wireless-drivers-next-2021-06-25' of...

Merge tag 'wireless-drivers-next-2021-06-25' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next



Kalle Valo says:

====================
wireless-drivers-next patches for v5.14

Second, and most likely the last, set of patches for v5.14. mt76 and
iwlwifi have most patches in this round, but rtw88 also has some new
features. Nothing special really standing out.

mt76

* mt7915 MSI support

* disable ASPM on mt7915

* mt7915 tx status reporting

* mt7921 decap offload

rtw88

* beacon filter support

* path diversity support

* firmware crash information via devcoredump

* quirks for disabling pci capabilities

mt7601u

* add USB ID for a XiaoDu WiFi Dongle

ath11k

* enable support for QCN9074 PCI devices

brcmfmac

* support parse country code map from DeviceTree

iwlwifi

* support for new hardware

* support for BIOS control of 11ax enablement in Russia

* support UNII4 band enablement from BIOS
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents ac53c264 c2a3823d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2795,7 +2795,7 @@ void ath10k_wmi_event_chan_info(struct ath10k *ar, struct sk_buff *skb)
	switch (ar->scan.state) {
	case ATH10K_SCAN_IDLE:
	case ATH10K_SCAN_STARTING:
		ath10k_warn(ar, "received chan info event without a scan request, ignoring\n");
		ath10k_dbg(ar, ATH10K_DBG_WMI, "received chan info event without a scan request, ignoring\n");
		goto exit;
	case ATH10K_SCAN_RUNNING:
	case ATH10K_SCAN_ABORTING:
+10 −4
Original line number Diff line number Diff line
@@ -1314,10 +1314,16 @@ static void ath11k_peer_assoc_h_he(struct ath11k *ar,

	arg->he_flag = true;

	memcpy(&arg->peer_he_cap_macinfo, he_cap->he_cap_elem.mac_cap_info,
	       sizeof(arg->peer_he_cap_macinfo));
	memcpy(&arg->peer_he_cap_phyinfo, he_cap->he_cap_elem.phy_cap_info,
	       sizeof(arg->peer_he_cap_phyinfo));
	memcpy_and_pad(&arg->peer_he_cap_macinfo,
		       sizeof(arg->peer_he_cap_macinfo),
		       he_cap->he_cap_elem.mac_cap_info,
		       sizeof(he_cap->he_cap_elem.mac_cap_info),
		       0);
	memcpy_and_pad(&arg->peer_he_cap_phyinfo,
		       sizeof(arg->peer_he_cap_phyinfo),
		       he_cap->he_cap_elem.phy_cap_info,
		       sizeof(he_cap->he_cap_elem.phy_cap_info),
		       0);
	arg->peer_he_ops = vif->bss_conf.he_oper.params;

	/* the top most byte is used to indicate BSS color info */
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
static const struct pci_device_id ath11k_pci_id_table[] = {
	{ PCI_VDEVICE(QCOM, QCA6390_DEVICE_ID) },
	{ PCI_VDEVICE(QCOM, WCN6855_DEVICE_ID) },
	/* TODO: add QCN9074_DEVICE_ID) once firmware issues are resolved */
	{ PCI_VDEVICE(QCOM, QCN9074_DEVICE_ID) },
	{0}
};

+5 −16
Original line number Diff line number Diff line
@@ -445,22 +445,12 @@ static int wcn36xx_smd_send_and_wait(struct wcn36xx *wcn, size_t len)
	return ret;
}

static void init_hal_msg(struct wcn36xx_hal_msg_header *hdr,
			 enum wcn36xx_hal_host_msg_type msg_type,
			 size_t msg_size)
{
	memset(hdr, 0, msg_size + sizeof(*hdr));
	hdr->msg_type = msg_type;
	hdr->msg_version = WCN36XX_HAL_MSG_VERSION0;
	hdr->len = msg_size + sizeof(*hdr);
}

#define __INIT_HAL_MSG(msg_body, type, version) \
	do {								\
		memset(&msg_body, 0, sizeof(msg_body));			\
		msg_body.header.msg_type = type;			\
		msg_body.header.msg_version = version;			\
		msg_body.header.len = sizeof(msg_body);			\
		memset(&(msg_body), 0, sizeof(msg_body));		\
		(msg_body).header.msg_type = type;			\
		(msg_body).header.msg_version = version;		\
		(msg_body).header.len = sizeof(msg_body);		\
	} while (0)							\

#define INIT_HAL_MSG(msg_body, type)	\
@@ -2729,8 +2719,7 @@ int wcn36xx_smd_set_mc_list(struct wcn36xx *wcn,

	msg_body = (struct wcn36xx_hal_rcv_flt_pkt_set_mc_list_req_msg *)
		   wcn->hal_buf;
	init_hal_msg(&msg_body->header, WCN36XX_HAL_8023_MULTICAST_LIST_REQ,
		     sizeof(msg_body->mc_addr_list));
	INIT_HAL_MSG(*msg_body, WCN36XX_HAL_8023_MULTICAST_LIST_REQ);

	/* An empty list means all mc traffic will be received */
	if (fp)
+13 −3
Original line number Diff line number Diff line
@@ -2895,8 +2895,13 @@ brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev,
					     &cfg->assoclist,
					     sizeof(cfg->assoclist));
		if (err) {
			bphy_err(drvr, "BRCMF_C_GET_ASSOCLIST unsupported, err=%d\n",
			/* GET_ASSOCLIST unsupported by firmware of older chips */
			if (err == -EBADE)
				bphy_info_once(drvr, "BRCMF_C_GET_ASSOCLIST unsupported\n");
			else
				bphy_err(drvr, "BRCMF_C_GET_ASSOCLIST failed, err=%d\n",
					 err);

			cfg->assoclist.count = 0;
			return -EOPNOTSUPP;
		}
@@ -6851,7 +6856,12 @@ static int brcmf_setup_wiphybands(struct brcmf_cfg80211_info *cfg)

	err = brcmf_fil_iovar_int_get(ifp, "rxchain", &rxchain);
	if (err) {
		/* rxchain unsupported by firmware of older chips */
		if (err == -EBADE)
			bphy_info_once(drvr, "rxchain unsupported\n");
		else
			bphy_err(drvr, "rxchain error (%d)\n", err);

		nchain = 1;
	} else {
		for (nchain = 0; rxchain; nchain++)
Loading