aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/acx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.c')
-rw-r--r--drivers/net/wireless/wl12xx/acx.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.c b/drivers/net/wireless/wl12xx/acx.c
index 33840d95d17d..3badc6bb7866 100644
--- a/drivers/net/wireless/wl12xx/acx.c
+++ b/drivers/net/wireless/wl12xx/acx.c
@@ -1328,10 +1328,9 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
1328 /* get data from A-MPDU parameters field */ 1328 /* get data from A-MPDU parameters field */
1329 acx->ampdu_max_length = ht_cap->ampdu_factor; 1329 acx->ampdu_max_length = ht_cap->ampdu_factor;
1330 acx->ampdu_min_spacing = ht_cap->ampdu_density; 1330 acx->ampdu_min_spacing = ht_cap->ampdu_density;
1331
1332 memcpy(acx->mac_address, mac_address, ETH_ALEN);
1333 } 1331 }
1334 1332
1333 memcpy(acx->mac_address, mac_address, ETH_ALEN);
1335 acx->ht_capabilites = cpu_to_le32(ht_capabilites); 1334 acx->ht_capabilites = cpu_to_le32(ht_capabilites);
1336 1335
1337 ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx)); 1336 ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx));
@@ -1542,3 +1541,28 @@ out:
1542 kfree(config_ps); 1541 kfree(config_ps);
1543 return ret; 1542 return ret;
1544} 1543}
1544
1545int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr)
1546{
1547 struct wl1271_acx_inconnection_sta *acx = NULL;
1548 int ret;
1549
1550 wl1271_debug(DEBUG_ACX, "acx set inconnaction sta %pM", addr);
1551
1552 acx = kzalloc(sizeof(*acx), GFP_KERNEL);
1553 if (!acx)
1554 return -ENOMEM;
1555
1556 memcpy(acx->addr, addr, ETH_ALEN);
1557
1558 ret = wl1271_cmd_configure(wl, ACX_UPDATE_INCONNECTION_STA_LIST,
1559 acx, sizeof(*acx));
1560 if (ret < 0) {
1561 wl1271_warning("acx set inconnaction sta failed: %d", ret);
1562 goto out;
1563 }
1564
1565out:
1566 kfree(acx);
1567 return ret;
1568}