• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/wireless/

Lines Matching refs:cmd

319 static const char *mwl8k_cmd_name(__le16 cmd, char *buf, int bufsize)
321 u16 command = le16_to_cpu(cmd);
356 snprintf(buf, bufsize, "0x%x", cmd);
478 struct mwl8k_cmd_pkt *cmd;
482 cmd = kmalloc(sizeof(*cmd) + 256, GFP_KERNEL);
483 if (cmd == NULL)
486 cmd->code = cpu_to_le16(MWL8K_CMD_CODE_DNLD);
487 cmd->seq_num = 0;
488 cmd->macid = 0;
489 cmd->result = 0;
495 memcpy(cmd->payload, data + done, block_size);
496 cmd->length = cpu_to_le16(block_size);
498 rc = mwl8k_send_fw_load_cmd(priv, cmd,
499 sizeof(*cmd) + block_size);
508 cmd->length = 0;
509 rc = mwl8k_send_fw_load_cmd(priv, cmd, sizeof(*cmd));
512 kfree(cmd);
1532 static int mwl8k_post_cmd(struct ieee80211_hw *hw, struct mwl8k_cmd_pkt *cmd)
1543 cmd->result = (__force __le16) 0xffff;
1544 dma_size = le16_to_cpu(cmd->length);
1545 dma_addr = pci_map_single(priv->pdev, cmd, dma_size,
1576 mwl8k_cmd_name(cmd->code, buf, sizeof(buf)),
1584 rc = cmd->result ? -EINVAL : 0;
1587 mwl8k_cmd_name(cmd->code, buf, sizeof(buf)),
1588 le16_to_cpu(cmd->result));
1591 mwl8k_cmd_name(cmd->code,
1601 struct mwl8k_cmd_pkt *cmd)
1604 cmd->macid = MWL8K_VIF(vif)->macid;
1605 return mwl8k_post_cmd(hw, cmd);
1757 struct mwl8k_cmd_get_hw_spec_sta *cmd;
1761 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
1762 if (cmd == NULL)
1765 cmd->header.code = cpu_to_le16(MWL8K_CMD_GET_HW_SPEC);
1766 cmd->header.length = cpu_to_le16(sizeof(*cmd));
1768 memset(cmd->perm_addr, 0xff, sizeof(cmd->perm_addr));
1769 cmd->ps_cookie = cpu_to_le32(priv->cookie_dma);
1770 cmd->rx_queue_ptr = cpu_to_le32(priv->rxq[0].rxd_dma);
1771 cmd->num_tx_queues = cpu_to_le32(MWL8K_TX_QUEUES);
1773 cmd->tx_queue_ptrs[i] = cpu_to_le32(priv->txq[i].txd_dma);
1774 cmd->num_tx_desc_per_queue = cpu_to_le32(MWL8K_TX_DESCS);
1775 cmd->total_rxd = cpu_to_le32(MWL8K_RX_DESCS);
1777 rc = mwl8k_post_cmd(hw, &cmd->header);
1780 SET_IEEE80211_PERM_ADDR(hw, cmd->perm_addr);
1781 priv->num_mcaddrs = le16_to_cpu(cmd->num_mcaddrs);
1782 priv->fw_rev = le32_to_cpu(cmd->fw_rev);
1783 priv->hw_rev = cmd->hw_rev;
1784 mwl8k_set_caps(hw, le32_to_cpu(cmd->caps));
1789 kfree(cmd);
1818 struct mwl8k_cmd_get_hw_spec_ap *cmd;
1821 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
1822 if (cmd == NULL)
1825 cmd->header.code = cpu_to_le16(MWL8K_CMD_GET_HW_SPEC);
1826 cmd->header.length = cpu_to_le16(sizeof(*cmd));
1828 memset(cmd->perm_addr, 0xff, sizeof(cmd->perm_addr));
1829 cmd->ps_cookie = cpu_to_le32(priv->cookie_dma);
1831 rc = mwl8k_post_cmd(hw, &cmd->header);
1836 SET_IEEE80211_PERM_ADDR(hw, cmd->perm_addr);
1837 priv->num_mcaddrs = le16_to_cpu(cmd->num_mcaddrs);
1838 priv->fw_rev = le32_to_cpu(cmd->fw_rev);
1839 priv->hw_rev = cmd->hw_rev;
1844 off = le32_to_cpu(cmd->wcbbase0) & 0xffff;
1847 off = le32_to_cpu(cmd->rxwrptr) & 0xffff;
1850 off = le32_to_cpu(cmd->rxrdptr) & 0xffff;
1853 off = le32_to_cpu(cmd->wcbbase1) & 0xffff;
1856 off = le32_to_cpu(cmd->wcbbase2) & 0xffff;
1859 off = le32_to_cpu(cmd->wcbbase3) & 0xffff;
1863 kfree(cmd);
1895 struct mwl8k_cmd_set_hw_spec *cmd;
1899 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
1900 if (cmd == NULL)
1903 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_HW_SPEC);
1904 cmd->header.length = cpu_to_le16(sizeof(*cmd));
1906 cmd->ps_cookie = cpu_to_le32(priv->cookie_dma);
1907 cmd->rx_queue_ptr = cpu_to_le32(priv->rxq[0].rxd_dma);
1908 cmd->num_tx_queues = cpu_to_le32(MWL8K_TX_QUEUES);
1910 cmd->tx_queue_ptrs[i] = cpu_to_le32(priv->txq[i].txd_dma);
1911 cmd->flags = cpu_to_le32(MWL8K_SET_HW_SPEC_FLAG_HOST_DECR_MGMT |
1914 cmd->num_tx_desc_per_queue = cpu_to_le32(MWL8K_TX_DESCS);
1915 cmd->total_rxd = cpu_to_le32(MWL8K_RX_DESCS);
1917 rc = mwl8k_post_cmd(hw, &cmd->header);
1918 kfree(cmd);
1943 struct mwl8k_cmd_mac_multicast_adr *cmd;
1955 size = sizeof(*cmd) + mc_count * ETH_ALEN;
1957 cmd = kzalloc(size, GFP_ATOMIC);
1958 if (cmd == NULL)
1961 cmd->header.code = cpu_to_le16(MWL8K_CMD_MAC_MULTICAST_ADR);
1962 cmd->header.length = cpu_to_le16(size);
1963 cmd->action = cpu_to_le16(MWL8K_ENABLE_RX_DIRECTED |
1967 cmd->action |= cpu_to_le16(MWL8K_ENABLE_RX_ALL_MULTICAST);
1972 cmd->action |= cpu_to_le16(MWL8K_ENABLE_RX_MULTICAST);
1973 cmd->numaddr = cpu_to_le16(mc_count);
1975 memcpy(cmd->addr[i], ha->addr, ETH_ALEN);
1979 return &cmd->header;
1998 struct mwl8k_cmd_get_stat *cmd;
2001 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2002 if (cmd == NULL)
2005 cmd->header.code = cpu_to_le16(MWL8K_CMD_GET_STAT);
2006 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2008 rc = mwl8k_post_cmd(hw, &cmd->header);
2011 le32_to_cpu(cmd->stats[MWL8K_STAT_ACK_FAILURE]);
2013 le32_to_cpu(cmd->stats[MWL8K_STAT_RTS_FAILURE]);
2015 le32_to_cpu(cmd->stats[MWL8K_STAT_FCS_ERROR]);
2017 le32_to_cpu(cmd->stats[MWL8K_STAT_RTS_SUCCESS]);
2019 kfree(cmd);
2038 struct mwl8k_cmd_radio_control *cmd;
2044 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2045 if (cmd == NULL)
2048 cmd->header.code = cpu_to_le16(MWL8K_CMD_RADIO_CONTROL);
2049 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2050 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2051 cmd->control = cpu_to_le16(priv->radio_short_preamble ? 3 : 1);
2052 cmd->radio_on = cpu_to_le16(enable ? 0x0001 : 0x0000);
2054 rc = mwl8k_post_cmd(hw, &cmd->header);
2055 kfree(cmd);
2099 struct mwl8k_cmd_rf_tx_power *cmd;
2102 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2103 if (cmd == NULL)
2106 cmd->header.code = cpu_to_le16(MWL8K_CMD_RF_TX_POWER);
2107 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2108 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2109 cmd->support_level = cpu_to_le16(dBm);
2111 rc = mwl8k_post_cmd(hw, &cmd->header);
2112 kfree(cmd);
2132 struct mwl8k_cmd_rf_antenna *cmd;
2135 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2136 if (cmd == NULL)
2139 cmd->header.code = cpu_to_le16(MWL8K_CMD_RF_ANTENNA);
2140 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2141 cmd->antenna = cpu_to_le16(antenna);
2142 cmd->mode = cpu_to_le16(mask);
2144 rc = mwl8k_post_cmd(hw, &cmd->header);
2145 kfree(cmd);
2162 struct mwl8k_cmd_set_beacon *cmd;
2165 cmd = kzalloc(sizeof(*cmd) + len, GFP_KERNEL);
2166 if (cmd == NULL)
2169 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_BEACON);
2170 cmd->header.length = cpu_to_le16(sizeof(*cmd) + len);
2171 cmd->beacon_len = cpu_to_le16(len);
2172 memcpy(cmd->beacon, beacon, len);
2174 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2175 kfree(cmd);
2189 struct mwl8k_cmd_set_pre_scan *cmd;
2192 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2193 if (cmd == NULL)
2196 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_PRE_SCAN);
2197 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2199 rc = mwl8k_post_cmd(hw, &cmd->header);
2200 kfree(cmd);
2217 struct mwl8k_cmd_set_post_scan *cmd;
2220 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2221 if (cmd == NULL)
2224 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_POST_SCAN);
2225 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2226 cmd->isibss = 0;
2227 memcpy(cmd->bssid, mac, ETH_ALEN);
2229 rc = mwl8k_post_cmd(hw, &cmd->header);
2230 kfree(cmd);
2249 struct mwl8k_cmd_set_rf_channel *cmd;
2252 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2253 if (cmd == NULL)
2256 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_RF_CHANNEL);
2257 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2258 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2259 cmd->current_channel = channel->hw_value;
2262 cmd->channel_flags |= cpu_to_le32(0x00000001);
2264 cmd->channel_flags |= cpu_to_le32(0x00000004);
2268 cmd->channel_flags |= cpu_to_le32(0x00000080);
2270 cmd->channel_flags |= cpu_to_le32(0x000001900);
2272 cmd->channel_flags |= cpu_to_le32(0x000000900);
2274 rc = mwl8k_post_cmd(hw, &cmd->header);
2275 kfree(cmd);
2318 struct mwl8k_cmd_update_set_aid *cmd;
2322 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2323 if (cmd == NULL)
2326 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_AID);
2327 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2328 cmd->aid = cpu_to_le16(vif->bss_conf.aid);
2329 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN);
2347 cmd->protection_mode = cpu_to_le16(prot_mode);
2349 legacy_rate_mask_to_array(cmd->supp_rates, legacy_rate_mask);
2351 rc = mwl8k_post_cmd(hw, &cmd->header);
2352 kfree(cmd);
2373 struct mwl8k_cmd_set_rate *cmd;
2376 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2377 if (cmd == NULL)
2380 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_RATE);
2381 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2382 legacy_rate_mask_to_array(cmd->legacy_rates, legacy_rate_mask);
2383 memcpy(cmd->mcs_set, mcs_rates, 16);
2385 rc = mwl8k_post_cmd(hw, &cmd->header);
2386 kfree(cmd);
2405 struct mwl8k_cmd_finalize_join *cmd;
2410 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2411 if (cmd == NULL)
2414 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_FINALIZE_JOIN);
2415 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2416 cmd->sleep_interval = cpu_to_le32(dtim ? dtim : 1);
2424 memcpy(cmd->beacon_data, &payload->u.beacon, payload_len);
2426 rc = mwl8k_post_cmd(hw, &cmd->header);
2427 kfree(cmd);
2444 struct mwl8k_cmd_set_rts_threshold *cmd;
2447 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2448 if (cmd == NULL)
2451 cmd->header.code = cpu_to_le16(MWL8K_CMD_RTS_THRESHOLD);
2452 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2453 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2454 cmd->threshold = cpu_to_le16(rts_thresh);
2456 rc = mwl8k_post_cmd(hw, &cmd->header);
2457 kfree(cmd);
2473 struct mwl8k_cmd_set_slot *cmd;
2476 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2477 if (cmd == NULL)
2480 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_SLOT);
2481 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2482 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2483 cmd->short_slot = short_slot_time;
2485 rc = mwl8k_post_cmd(hw, &cmd->header);
2486 kfree(cmd);
2547 struct mwl8k_cmd_set_edca_params *cmd;
2550 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2551 if (cmd == NULL)
2554 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_EDCA_PARAMS);
2555 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2556 cmd->action = cpu_to_le16(MWL8K_SET_EDCA_ALL);
2557 cmd->txop = cpu_to_le16(txop);
2559 cmd->ap.log_cw_max = cpu_to_le32(ilog2(cw_max + 1));
2560 cmd->ap.log_cw_min = cpu_to_le32(ilog2(cw_min + 1));
2561 cmd->ap.aifs = aifs;
2562 cmd->ap.txq = qnum;
2564 cmd->sta.log_cw_max = (u8)ilog2(cw_max + 1);
2565 cmd->sta.log_cw_min = (u8)ilog2(cw_min + 1);
2566 cmd->sta.aifs = aifs;
2567 cmd->sta.txq = qnum;
2570 rc = mwl8k_post_cmd(hw, &cmd->header);
2571 kfree(cmd);
2587 struct mwl8k_cmd_set_wmm_mode *cmd;
2590 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2591 if (cmd == NULL)
2594 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_WMM_MODE);
2595 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2596 cmd->action = cpu_to_le16(!!enable);
2598 rc = mwl8k_post_cmd(hw, &cmd->header);
2599 kfree(cmd);
2619 struct mwl8k_cmd_mimo_config *cmd;
2622 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2623 if (cmd == NULL)
2626 cmd->header.code = cpu_to_le16(MWL8K_CMD_MIMO_CONFIG);
2627 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2628 cmd->action = cpu_to_le32((u32)MWL8K_CMD_SET);
2629 cmd->rx_antenna_map = rx;
2630 cmd->tx_antenna_map = tx;
2632 rc = mwl8k_post_cmd(hw, &cmd->header);
2633 kfree(cmd);
2662 struct mwl8k_cmd_use_fixed_rate_sta *cmd;
2665 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2666 if (cmd == NULL)
2669 cmd->header.code = cpu_to_le16(MWL8K_CMD_USE_FIXED_RATE);
2670 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2671 cmd->action = cpu_to_le32(MWL8K_USE_AUTO_RATE);
2672 cmd->rate_type = cpu_to_le32(MWL8K_UCAST_RATE);
2674 rc = mwl8k_post_cmd(hw, &cmd->header);
2675 kfree(cmd);
2702 struct mwl8k_cmd_use_fixed_rate_ap *cmd;
2705 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2706 if (cmd == NULL)
2709 cmd->header.code = cpu_to_le16(MWL8K_CMD_USE_FIXED_RATE);
2710 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2711 cmd->action = cpu_to_le32(MWL8K_USE_AUTO_RATE);
2712 cmd->multicast_rate = mcast;
2713 cmd->management_rate = mgmt;
2715 rc = mwl8k_post_cmd(hw, &cmd->header);
2716 kfree(cmd);
2731 struct mwl8k_cmd_enable_sniffer *cmd;
2734 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2735 if (cmd == NULL)
2738 cmd->header.code = cpu_to_le16(MWL8K_CMD_ENABLE_SNIFFER);
2739 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2740 cmd->action = cpu_to_le32(!!enable);
2742 rc = mwl8k_post_cmd(hw, &cmd->header);
2743 kfree(cmd);
2772 struct mwl8k_cmd_set_mac_addr *cmd;
2789 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2790 if (cmd == NULL)
2793 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_MAC_ADDR);
2794 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2796 cmd->mbss.mac_type = cpu_to_le16(mac_type);
2797 memcpy(cmd->mbss.mac_addr, mac, ETH_ALEN);
2799 memcpy(cmd->mac_addr, mac, ETH_ALEN);
2802 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2803 kfree(cmd);
2819 struct mwl8k_cmd_set_rate_adapt_mode *cmd;
2822 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2823 if (cmd == NULL)
2826 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_RATEADAPT_MODE);
2827 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2828 cmd->action = cpu_to_le16(MWL8K_CMD_SET);
2829 cmd->mode = cpu_to_le16(mode);
2831 rc = mwl8k_post_cmd(hw, &cmd->header);
2832 kfree(cmd);
2848 struct mwl8k_cmd_bss_start *cmd;
2851 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2852 if (cmd == NULL)
2855 cmd->header.code = cpu_to_le16(MWL8K_CMD_BSS_START);
2856 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2857 cmd->enable = cpu_to_le32(enable);
2859 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2860 kfree(cmd);
2897 struct mwl8k_cmd_set_new_stn *cmd;
2901 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2902 if (cmd == NULL)
2905 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_NEW_STN);
2906 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2907 cmd->aid = cpu_to_le16(sta->aid);
2908 memcpy(cmd->mac_addr, sta->addr, ETH_ALEN);
2909 cmd->stn_id = cpu_to_le16(sta->aid);
2910 cmd->action = cpu_to_le16(MWL8K_STA_ACTION_ADD);
2915 cmd->legacy_rates = cpu_to_le32(rates);
2917 cmd->ht_rates[0] = sta->ht_cap.mcs.rx_mask[0];
2918 cmd->ht_rates[1] = sta->ht_cap.mcs.rx_mask[1];
2919 cmd->ht_rates[2] = sta->ht_cap.mcs.rx_mask[2];
2920 cmd->ht_rates[3] = sta->ht_cap.mcs.rx_mask[3];
2921 cmd->ht_capabilities_info = cpu_to_le16(sta->ht_cap.cap);
2922 cmd->mac_ht_param_info = (sta->ht_cap.ampdu_factor & 3) |
2924 cmd->is_qos_sta = 1;
2927 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2928 kfree(cmd);
2936 struct mwl8k_cmd_set_new_stn *cmd;
2939 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2940 if (cmd == NULL)
2943 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_NEW_STN);
2944 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2945 memcpy(cmd->mac_addr, vif->addr, ETH_ALEN);
2947 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2948 kfree(cmd);
2956 struct mwl8k_cmd_set_new_stn *cmd;
2959 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
2960 if (cmd == NULL)
2963 cmd->header.code = cpu_to_le16(MWL8K_CMD_SET_NEW_STN);
2964 cmd->header.length = cpu_to_le16(sizeof(*cmd));
2965 memcpy(cmd->mac_addr, addr, ETH_ALEN);
2966 cmd->action = cpu_to_le16(MWL8K_STA_ACTION_REMOVE);
2968 rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
2969 kfree(cmd);
3037 struct mwl8k_cmd_update_stadb *cmd;
3042 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
3043 if (cmd == NULL)
3046 cmd->header.code = cpu_to_le16(MWL8K_CMD_UPDATE_STADB);
3047 cmd->header.length = cpu_to_le16(sizeof(*cmd));
3048 cmd->action = cpu_to_le32(MWL8K_STA_DB_MODIFY_ENTRY);
3049 memcpy(cmd->peer_addr, sta->addr, ETH_ALEN);
3051 p = &cmd->peer_info;
3067 rc = mwl8k_post_cmd(hw, &cmd->header);
3068 kfree(cmd);
3076 struct mwl8k_cmd_update_stadb *cmd;
3079 cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
3080 if (cmd == NULL)
3083 cmd->header.code = cpu_to_le16(MWL8K_CMD_UPDATE_STADB);
3084 cmd->header.length = cpu_to_le16(sizeof(*cmd));
3085 cmd->action = cpu_to_le32(MWL8K_STA_DB_DEL_ENTRY);
3086 memcpy(cmd->peer_addr, addr, ETH_ALEN);
3088 rc = mwl8k_post_cmd(hw, &cmd->header);
3089 kfree(cmd);
3554 struct mwl8k_cmd_pkt *cmd;
3563 cmd = __mwl8k_cmd_mac_multicast_adr(hw, 0, mc_list);
3565 return (unsigned long)cmd;
3614 struct mwl8k_cmd_pkt *cmd = (void *)(unsigned long)multicast;
3622 kfree(cmd);
3632 kfree(cmd);
3640 kfree(cmd);
3684 kfree(cmd);
3685 cmd = __mwl8k_cmd_mac_multicast_adr(hw, 1, NULL);
3688 if (cmd != NULL) {
3689 mwl8k_post_cmd(hw, cmd);
3690 kfree(cmd);