aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>2017-12-19 06:28:50 -0500
committerKalle Valo <kvalo@codeaurora.org>2018-01-09 07:11:18 -0500
commite6ef8cd051452a5314cd192241bd4884553ff3cc (patch)
tree97a1dd86a5c714e89124695a99f9d3d25af3dca3
parentb05ee456fd21d7bd5bb72b5f2d91c7b5a85b5b27 (diff)
qtnfmac: change default interface mode from AP to STA
To mimic mac80211 behaviour, change default interface type from AP to STA. Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/quantenna/qtnfmac/cfg80211.c2
-rw-r--r--drivers/net/wireless/quantenna/qtnfmac/core.c11
-rw-r--r--drivers/net/wireless/quantenna/qtnfmac/core.h3
3 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c b/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
index d4a98d62ecbe..c026882bf9c7 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c
@@ -190,7 +190,7 @@ static struct wireless_dev *qtnf_add_virtual_intf(struct wiphy *wiphy,
190 goto err_mac; 190 goto err_mac;
191 } 191 }
192 192
193 if (qtnf_core_net_attach(mac, vif, name, name_assign_t, type)) { 193 if (qtnf_core_net_attach(mac, vif, name, name_assign_t)) {
194 pr_err("VIF%u.%u: failed to attach netdev\n", mac->macid, 194 pr_err("VIF%u.%u: failed to attach netdev\n", mac->macid,
195 vif->vifid); 195 vif->vifid);
196 goto err_net; 196 goto err_net;
diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.c b/drivers/net/wireless/quantenna/qtnfmac/core.c
index 3423dc51198b..518a2fe927f7 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/core.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/core.c
@@ -258,7 +258,7 @@ static void qtnf_mac_init_primary_intf(struct qtnf_wmac *mac)
258{ 258{
259 struct qtnf_vif *vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX]; 259 struct qtnf_vif *vif = &mac->iflist[QTNF_PRIMARY_VIF_IDX];
260 260
261 vif->wdev.iftype = NL80211_IFTYPE_AP; 261 vif->wdev.iftype = NL80211_IFTYPE_STATION;
262 vif->bss_priority = QTNF_DEF_BSS_PRIORITY; 262 vif->bss_priority = QTNF_DEF_BSS_PRIORITY;
263 vif->wdev.wiphy = priv_to_wiphy(mac); 263 vif->wdev.wiphy = priv_to_wiphy(mac);
264 INIT_WORK(&vif->reset_work, qtnf_vif_reset_handler); 264 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,
298} 298}
299 299
300int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif, 300int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
301 const char *name, unsigned char name_assign_type, 301 const char *name, unsigned char name_assign_type)
302 enum nl80211_iftype iftype)
303{ 302{
304 struct wiphy *wiphy = priv_to_wiphy(mac); 303 struct wiphy *wiphy = priv_to_wiphy(mac);
305 struct net_device *dev; 304 struct net_device *dev;
@@ -320,7 +319,6 @@ int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *vif,
320 dev->needs_free_netdev = true; 319 dev->needs_free_netdev = true;
321 dev_net_set(dev, wiphy_net(wiphy)); 320 dev_net_set(dev, wiphy_net(wiphy));
322 dev->ieee80211_ptr = &vif->wdev; 321 dev->ieee80211_ptr = &vif->wdev;
323 dev->ieee80211_ptr->iftype = iftype;
324 ether_addr_copy(dev->dev_addr, vif->mac_addr); 322 ether_addr_copy(dev->dev_addr, vif->mac_addr);
325 SET_NETDEV_DEV(dev, wiphy_dev(wiphy)); 323 SET_NETDEV_DEV(dev, wiphy_dev(wiphy));
326 dev->flags |= IFF_BROADCAST | IFF_MULTICAST; 324 dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
@@ -418,7 +416,7 @@ static int qtnf_core_mac_attach(struct qtnf_bus *bus, unsigned int macid)
418 goto error; 416 goto error;
419 } 417 }
420 418
421 ret = qtnf_cmd_send_add_intf(vif, NL80211_IFTYPE_AP, vif->mac_addr); 419 ret = qtnf_cmd_send_add_intf(vif, vif->wdev.iftype, vif->mac_addr);
422 if (ret) { 420 if (ret) {
423 pr_err("MAC%u: failed to add VIF\n", macid); 421 pr_err("MAC%u: failed to add VIF\n", macid);
424 goto error; 422 goto error;
@@ -446,8 +444,7 @@ static int qtnf_core_mac_attach(struct qtnf_bus *bus, unsigned int macid)
446 444
447 rtnl_lock(); 445 rtnl_lock();
448 446
449 ret = qtnf_core_net_attach(mac, vif, "wlan%d", NET_NAME_ENUM, 447 ret = qtnf_core_net_attach(mac, vif, "wlan%d", NET_NAME_ENUM);
450 NL80211_IFTYPE_AP);
451 rtnl_unlock(); 448 rtnl_unlock();
452 449
453 if (ret) { 450 if (ret) {
diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.h b/drivers/net/wireless/quantenna/qtnfmac/core.h
index 1b7bc0318f3e..8e42d1bdc65f 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/core.h
+++ b/drivers/net/wireless/quantenna/qtnfmac/core.h
@@ -144,8 +144,7 @@ struct qtnf_vif *qtnf_mac_get_free_vif(struct qtnf_wmac *mac);
144struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac); 144struct qtnf_vif *qtnf_mac_get_base_vif(struct qtnf_wmac *mac);
145struct wiphy *qtnf_wiphy_allocate(struct qtnf_bus *bus); 145struct wiphy *qtnf_wiphy_allocate(struct qtnf_bus *bus);
146int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *priv, 146int qtnf_core_net_attach(struct qtnf_wmac *mac, struct qtnf_vif *priv,
147 const char *name, unsigned char name_assign_type, 147 const char *name, unsigned char name_assign_type);
148 enum nl80211_iftype iftype);
149void qtnf_main_work_queue(struct work_struct *work); 148void qtnf_main_work_queue(struct work_struct *work);
150int qtnf_cmd_send_update_phy_params(struct qtnf_wmac *mac, u32 changed); 149int qtnf_cmd_send_update_phy_params(struct qtnf_wmac *mac, u32 changed);
151int qtnf_cmd_send_get_phy_params(struct qtnf_wmac *mac); 150int qtnf_cmd_send_get_phy_params(struct qtnf_wmac *mac);