Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb58b89c authored by Peter Oh's avatar Peter Oh Committed by Kalle Valo
Browse files

ath10k: apply Mesh subtype when Mesh interface created.



QCA988X firmware starting from 10.2.4.70.12-2 has capability to support
Mesh Control Field Present bit in QoS field in native Wi-Fi mode.
Hence apply Mesh subtype according to the WMI service map.

Firmware will allows unicast, broadcast, multicast, and WDS frame
(FromDS = 1 and ToDS = 1) to be received via the interface, once Mesh
subtype is used.

The firmware and this patch together make native Wi-Fi mode comply to
IEEE802.11s Mesh frame in open mode, but the firmware doesn't yet
support secured Mesh mode.

Signed-off-by: default avatarPeter Oh <poh@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 42e08fea
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -4364,7 +4364,9 @@ static int ath10k_add_interface(struct ieee80211_hw *hw,
		arvif->vdev_type = WMI_VDEV_TYPE_IBSS;
		break;
	case NL80211_IFTYPE_MESH_POINT:
		if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
		if (test_bit(WMI_SERVICE_MESH, ar->wmi.svc_map)) {
			arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH;
		} else if (!test_bit(ATH10K_FLAG_RAW_MODE, &ar->dev_flags)) {
			ret = -EINVAL;
			ath10k_warn(ar, "must load driver with rawmode=1 to add mesh interfaces\n");
			goto err;