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

Commit e6ef8cd0 authored by Igor Mitsyanko's avatar Igor Mitsyanko Committed by Kalle Valo
Browse files

qtnfmac: change default interface mode from AP to STA



To mimic mac80211 behaviour, change default interface type from AP to STA.

Signed-off-by: default avatarIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent b05ee456
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -190,7 +190,7 @@ static struct wireless_dev *qtnf_add_virtual_intf(struct wiphy *wiphy,
		goto err_mac;
		goto err_mac;
	}
	}


	if (qtnf_core_net_attach(mac, vif, name, name_assign_t, type)) {
	if (qtnf_core_net_attach(mac, vif, name, name_assign_t)) {
		pr_err("VIF%u.%u: failed to attach netdev\n", mac->macid,
		pr_err("VIF%u.%u: failed to attach netdev\n", mac->macid,
		       vif->vifid);
		       vif->vifid);
		goto err_net;
		goto err_net;
+4 −7
Original line number Original line Diff line number Diff line
@@ -258,7 +258,7 @@ static void qtnf_mac_init_primary_intf(struct qtnf_wmac *mac)
{
{
	struct qtnf_vif *vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX];
	struct qtnf_vif *vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX];


	vif->wdev.iftype = NL80211_IFTYPE_AP;
	vif->wdev.iftype = NL80211_IFTYPE_STATION;
	vif->bss_priority = QTNF_DEF_BSS_PRIORITY;
	vif->bss_priority = QTNF_DEF_BSS_PRIORITY;
	vif->wdev.wiphy = priv_to_wiphy(mac);
	vif->wdev.wiphy = priv_to_wiphy(mac);
	INIT_WORK(&vif->reset_work, qtnf_vif_reset_handler);
	INIT_WORK(&vif->reset_work, qtnf_vif_reset_handler);
@@ -298,8 +298,7 @@ static struct qtnf_wmac *qtnf_core_mac_alloc(struct qtnf_bus *bus,
}
}


int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
			 const char *name, unsigned char name_assign_type,
			 const char *name, unsigned char name_assign_type)
			 enum nl80211_iftype iftype)
{
{
	struct wiphy *wiphy = priv_to_wiphy(mac);
	struct wiphy *wiphy = priv_to_wiphy(mac);
	struct net_device *dev;
	struct net_device *dev;
@@ -320,7 +319,6 @@ int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
	dev->needs_free_netdev = true;
	dev->needs_free_netdev = true;
	dev_net_set(dev, wiphy_net(wiphy));
	dev_net_set(dev, wiphy_net(wiphy));
	dev->ieee80211_ptr = &vif->wdev;
	dev->ieee80211_ptr = &vif->wdev;
	dev->ieee80211_ptr->iftype = iftype;
	ether_addr_copy(dev->dev_addr, vif->mac_addr);
	ether_addr_copy(dev->dev_addr, vif->mac_addr);
	SET_NETDEV_DEV(dev, wiphy_dev(wiphy));
	SET_NETDEV_DEV(dev, wiphy_dev(wiphy));
	dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
	dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
@@ -418,7 +416,7 @@ static int qtnf_core_mac_attach(struct qtnf_bus *bus, unsigned int macid)
		goto error;
		goto error;
	}
	}


	ret = qtnf_cmd_send_add_intf(vif, NL80211_IFTYPE_AP, vif->mac_addr);
	ret = qtnf_cmd_send_add_intf(vif, vif->wdev.iftype, vif->mac_addr);
	if (ret) {
	if (ret) {
		pr_err("MAC%u: failed to add VIF\n", macid);
		pr_err("MAC%u: failed to add VIF\n", macid);
		goto error;
		goto error;
@@ -446,8 +444,7 @@ static int qtnf_core_mac_attach(struct qtnf_bus *bus, unsigned int macid)


	rtnl_lock();
	rtnl_lock();


	ret = qtnf_core_net_attach(mac, vif, "wlan%d", NET_NAME_ENUM,
	ret = qtnf_core_net_attach(mac, vif, "wlan%d", NET_NAME_ENUM);
				   NL80211_IFTYPE_AP);
	rtnl_unlock();
	rtnl_unlock();


	if (ret) {
	if (ret) {
+1 −2
Original line number Original line Diff line number Diff line
@@ -144,8 +144,7 @@ struct qtnf_vif *qtnf_mac_get_free_vif(struct qtnf_wmac *mac);
struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac);
struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac);
struct wiphy *qtnf_wiphy_allocate(struct qtnf_bus *bus);
struct wiphy *qtnf_wiphy_allocate(struct qtnf_bus *bus);
int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *priv,
int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *priv,
			 const char *name, unsigned char name_assign_type,
			 const char *name, unsigned char name_assign_type);
			 enum nl80211_iftype iftype);
void qtnf_main_work_queue(struct work_struct *work);
void qtnf_main_work_queue(struct work_struct *work);
int qtnf_cmd_send_update_phy_params(struct qtnf_wmac *mac, u32 changed);
int qtnf_cmd_send_update_phy_params(struct qtnf_wmac *mac, u32 changed);
int qtnf_cmd_send_get_phy_params(struct qtnf_wmac *mac);
int qtnf_cmd_send_get_phy_params(struct qtnf_wmac *mac);