本文整理汇总了C++中dhd_wl_ioctl_cmd函数的典型用法代码示例。如果您正苦于以下问题:C++ dhd_wl_ioctl_cmd函数的具体用法?C++ dhd_wl_ioctl_cmd怎么用?C++ dhd_wl_ioctl_cmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dhd_wl_ioctl_cmd函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dhd_conf_set_roam
int
dhd_conf_set_roam(dhd_pub_t *dhd)
{
int bcmerror = -1;
char iovbuf[WL_EVENTING_MASK_LEN + 12]; /* Room for "event_msgs" + '\0' + bitvec */
printf("%s: Set roam_off %d\n", __FUNCTION__, dhd->conf->roam_off);
dhd_roam_disable = dhd->conf->roam_off;
bcm_mkiovar("roam_off", (char *)&dhd->conf->roam_off, 4, iovbuf, sizeof(iovbuf));
dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
if (!dhd->conf->roam_off || !dhd->conf->roam_off_suspend) {
printf("%s: Set roam_trigger %d\n", __FUNCTION__, dhd->conf->roam_trigger[0]);
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_ROAM_TRIGGER, dhd->conf->roam_trigger,
sizeof(dhd->conf->roam_trigger), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: roam trigger set failed %d\n", __FUNCTION__, bcmerror));
printf("%s: Set roam_scan_period %d\n", __FUNCTION__, dhd->conf->roam_scan_period[0]);
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_ROAM_SCAN_PERIOD, dhd->conf->roam_scan_period,
sizeof(dhd->conf->roam_scan_period), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: roam scan period set failed %d\n", __FUNCTION__, bcmerror));
printf("%s: Set roam_delta %d\n", __FUNCTION__, dhd->conf->roam_delta[0]);
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_ROAM_DELTA, dhd->conf->roam_delta,
sizeof(dhd->conf->roam_delta), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: roam delta set failed %d\n", __FUNCTION__, bcmerror));
printf("%s: Set fullroamperiod %d\n", __FUNCTION__, dhd->conf->fullroamperiod);
bcm_mkiovar("fullroamperiod", (char *)&dhd->conf->fullroamperiod, 4, iovbuf, sizeof(iovbuf));
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: roam fullscan period set failed %d\n", __FUNCTION__, bcmerror));
}
return bcmerror;
}
示例2: dhd_pno_clean
int dhd_pno_clean(dhd_pub_t *dhd)
{
char iovbuf[128];
int pfn_enabled = 0;
int iov_len = 0;
int ret;
/* Disable pfn */
iov_len = bcm_mkiovar("pfn", (char *)&pfn_enabled, 4, iovbuf, sizeof(iovbuf));
if ((ret = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) >= 0) {
/* clear pfn */
iov_len = bcm_mkiovar("pfnclear", 0, 0, iovbuf, sizeof(iovbuf));
if (iov_len) {
if ((ret = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf,
iov_len, TRUE, 0)) < 0) {
DHD_ERROR(("%s failed code %d\n", __FUNCTION__, ret));
}
}
else {
ret = -1;
DHD_ERROR(("%s failed code %d\n", __FUNCTION__, iov_len));
}
}
else
DHD_ERROR(("%s failed code %d\n", __FUNCTION__, ret));
return ret;
}
示例3: sec_control_pm
void sec_control_pm(dhd_pub_t *dhd, uint *power_mode)
{
struct file *fp = NULL;
char *filepath = "/data/.psm.info";
mm_segment_t oldfs = {0};
char power_val = 0;
char iovbuf[WL_EVENTING_MASK_LEN + 12];
g_PMcontrol = FALSE;
fp = filp_open(filepath, O_RDONLY, 0);
if (IS_ERR(fp) || (fp==NULL)) {
/* Enable PowerSave Mode */
dhd_wl_ioctl_cmd(dhd, WLC_SET_PM, (char *)power_mode, sizeof(uint), TRUE, 0);
fp = filp_open(filepath, O_RDWR | O_CREAT, 0666);
if (IS_ERR(fp) || (fp==NULL)) {
DHD_ERROR(("[%s, %d] /data/.psm.info open failed\n", __FUNCTION__, __LINE__));
return;
}
else {
oldfs = get_fs();
set_fs(get_ds());
if (fp->f_mode & FMODE_WRITE) {
power_val = '1';
fp->f_op->write(fp, (const char *)&power_val, sizeof(char), &fp->f_pos);
}
set_fs(oldfs);
}
}
else {
kernel_read(fp, fp->f_pos, &power_val, 1);
DHD_ERROR(("POWER_VAL = %c \r\n" , power_val));
if(power_val == '0') {
#ifdef ROAM_ENABLE
uint roamvar = 1;
#endif
*power_mode = PM_OFF;
/* Disable PowerSave Mode */
dhd_wl_ioctl_cmd(dhd, WLC_SET_PM, (char *)power_mode, sizeof(uint), TRUE, 0);
/* Turn off MPC in AP mode */
bcm_mkiovar("mpc", (char *)power_mode, 4, iovbuf, sizeof(iovbuf));
dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
g_PMcontrol = TRUE;
#ifdef ROAM_ENABLE
bcm_mkiovar("roam_off", (char *)&roamvar, 4, iovbuf, sizeof(iovbuf));
dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
#endif
} else {
dhd_wl_ioctl_cmd(dhd, WLC_SET_PM, (char *)power_mode, sizeof(uint), TRUE, 0);
}
}
if(fp)
filp_close(fp, NULL);
}
示例4: dhd_sel_ant_from_file
int dhd_sel_ant_from_file(dhd_pub_t *dhd)
{
struct file *fp = NULL;
int ret = -1;
uint32 ant_val = 0;
char *filepath = "/data/.ant.info";
char iovbuf[WLC_IOCTL_SMLEN];
/* Read antenna settings from the file */
fp = filp_open(filepath, O_RDONLY, 0);
if (IS_ERR(fp)) {
DHD_ERROR(("[WIFI] %s: File [%s] open error\n", __FUNCTION__, filepath));
return ret;
} else {
ret = kernel_read(fp, 0, (char *)&ant_val, 4);
if (ret < 0) {
DHD_ERROR(("[WIFI] %s: File read error, ret=%d\n", __FUNCTION__, ret));
filp_close(fp, NULL);
return ret;
}
ant_val = bcm_atoi((char *)&ant_val);
DHD_ERROR(("[WIFI] %s: ANT val = %d\n", __FUNCTION__, ant_val));
filp_close(fp, NULL);
/* Check value from the file */
if (ant_val < 1 || ant_val > 3) {
DHD_ERROR(("[WIFI] %s: Invalid value %d read from the file %s\n",
__FUNCTION__, ant_val, filepath));
return -1;
}
}
/* Select Antenna */
bcm_mkiovar("txchain", (char *)&ant_val, 4, iovbuf, sizeof(iovbuf));
ret = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
if (ret) {
DHD_ERROR(("[WIFI] %s: Fail to execute dhd_wl_ioctl_cmd(): txchain, ret=%d\n",
__FUNCTION__, ret));
return ret;
}
bcm_mkiovar("rxchain", (char *)&ant_val, 4, iovbuf, sizeof(iovbuf));
ret = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
if (ret) {
DHD_ERROR(("[WIFI] %s: Fail to execute dhd_wl_ioctl_cmd(): rxchain, ret=%d\n",
__FUNCTION__, ret));
return ret;
}
return 0;
}
示例5: dhd_cfg80211_set_p2p_info
/*
* dhd_cfg80211_set_p2p_info : gets called when GO or GC created
*/
s32 dhd_cfg80211_set_p2p_info(struct wl_priv *wl, int val)
{
dhd_pub_t *dhd = (dhd_pub_t *)(wl->pub);
int bcn_timeout = DHD_BEACON_TIMEOUT_HIGH;
char iovbuf[30];
DHD_MYTRACE(("%s-%s\n", __FILE__, __FUNCTION__));
dhd->op_mode |= val;
WL_ERR(("Set : op_mode=%d\n", dhd->op_mode));
#ifdef ARP_OFFLOAD_SUPPORT
/* IF P2P is enabled, disable arpoe */
dhd_arp_offload_set(dhd, 0);
dhd_arp_offload_enable(dhd, false);
#endif /* ARP_OFFLOAD_SUPPORT */
/* diable all filtering in p2p mode */
dhd_os_set_packet_filter(dhd, 0);
/* Setup timeout if Beacons are lost and roam is off to report link down */
bcm_mkiovar("bcn_timeout", (char *)&bcn_timeout, 4, iovbuf, sizeof(iovbuf));
dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0);
return 0;
}
示例6: dhd_pno_enable
int dhd_pno_enable(dhd_pub_t *dhd, int pfn_enabled)
{
char iovbuf[128];
int ret = -1;
if ((!dhd) && ((pfn_enabled != 0) || (pfn_enabled != 1))) {
DHD_ERROR(("%s error exit\n", __FUNCTION__));
return ret;
}
/* Enable/disable PNO */
if ((ret = bcm_mkiovar("pfn", (char *)&pfn_enabled, 4, iovbuf, sizeof(iovbuf))) > 0) {
if ((ret = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf,
sizeof(iovbuf), TRUE, 0)) < 0) {
DHD_ERROR(("%s failed for error=%d\n", __FUNCTION__, ret));
return ret;
}
else {
dhd->pno_enable = pfn_enabled;
DHD_TRACE(("%s set pno as %d\n", __FUNCTION__, dhd->pno_enable));
}
}
else DHD_ERROR(("%s failed err=%d\n", __FUNCTION__, ret));
return ret;
}
示例7: dhd_iscan_request
int
dhd_iscan_request(void * dhdp, uint16 action)
{
int rc;
wl_iscan_params_t params;
dhd_pub_t *dhd = dhd_bus_pub(dhdp);
char buf[WLC_IOCTL_SMLEN];
DHD_TRACE(("%s: Entered\n", __FUNCTION__));
memset(¶ms, 0, sizeof(wl_iscan_params_t));
memcpy(¶ms.params.bssid, ðer_bcast, ETHER_ADDR_LEN);
params.params.bss_type = DOT11_BSSTYPE_ANY;
params.params.scan_type = DOT11_SCANTYPE_ACTIVE;
params.params.nprobes = htod32(-1);
params.params.active_time = htod32(-1);
params.params.passive_time = htod32(-1);
params.params.home_time = htod32(-1);
params.params.channel_num = htod32(0);
params.version = htod32(ISCAN_REQ_VERSION);
params.action = htod16(action);
params.scan_duration = htod16(0);
bcm_mkiovar("iscan", (char *)¶ms, sizeof(wl_iscan_params_t), buf, WLC_IOCTL_SMLEN);
rc = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, buf, WLC_IOCTL_SMLEN, TRUE, 0);
return rc;
}
示例8: dhd_check_module_mac
int dhd_check_module_mac(dhd_pub_t *dhd, struct ether_addr *mac)
{
int ret = -1;
unsigned char cis_buf[CIS_BUF_SIZE] = {0};
unsigned char mac_buf[20] = {0};
unsigned char otp_mac_buf[20] = {0};
const char *macfilepath = MACINFO_EFS;
/* Try reading out from CIS */
cis_rw_t *cish = (cis_rw_t *)&cis_buf[8];
struct file *fp_mac = NULL;
cish->source = 0;
cish->byteoff = 0;
cish->nbytes = sizeof(cis_buf);
strcpy(cis_buf, "cisdump");
ret = dhd_wl_ioctl_cmd(dhd, WLC_GET_VAR, cis_buf,
sizeof(cis_buf), 0, 0);
if (ret < 0) {
DHD_TRACE(("%s: CIS reading failed, err=%d\n", __func__,
ret));
sprintf(otp_mac_buf, "%02X:%02X:%02X:%02X:%02X:%02X\n",
mac->octet[0], mac->octet[1], mac->octet[2],
mac->octet[3], mac->octet[4], mac->octet[5]);
DHD_ERROR(("%s: Check module mac by legacy FW : %02X:%02X:%02X\n",
__func__, mac->octet[0], mac->octet[4], mac->octet[5]));
} else {
unsigned char mac_id[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
#ifdef DUMP_CIS
dhd_dump_cis(cis_buf, 48);
#endif
mac_id[0] = cis_buf[CIS_MAC_OFFSET];
mac_id[1] = cis_buf[CIS_MAC_OFFSET + 1];
mac_id[2] = cis_buf[CIS_MAC_OFFSET + 2];
mac_id[3] = cis_buf[CIS_MAC_OFFSET + 3];
mac_id[4] = cis_buf[CIS_MAC_OFFSET + 4];
mac_id[5] = cis_buf[CIS_MAC_OFFSET + 5];
sprintf(otp_mac_buf, "%02X:%02X:%02X:%02X:%02X:%02X\n",
mac_id[0], mac_id[1], mac_id[2], mac_id[3], mac_id[4],
mac_id[5]);
DHD_ERROR(("[WIFI]mac_id is setted from OTP \n"));
}
fp_mac = filp_open(macfilepath, O_RDONLY, 0);
if (!IS_ERR(fp_mac)) {
DHD_ERROR(("[WIFI]Check Mac address in .mac.info \n"));
kernel_read(fp_mac, fp_mac->f_pos, mac_buf, sizeof(mac_buf));
filp_close(fp_mac, NULL);
if (strncmp(mac_buf, otp_mac_buf, 17) != 0) {
DHD_ERROR(("[WIFI]file MAC is wrong. Write OTP MAC in .mac.info \n"));
dhd_write_mac_file(macfilepath, otp_mac_buf, sizeof(otp_mac_buf));
}
}
return ret;
}
示例9: check_module_cid
int check_module_cid(dhd_pub_t *dhd)
{
int ret = -1;
unsigned char cis_buf[128] = {0};
unsigned char cid_buf[10] = {0};
const char* cidfilepath = "/data/.cid.info";
/* Try reading out from CIS */
cis_rw_t *cish = (cis_rw_t *)&cis_buf[8];
struct file *fp_cid = NULL;
fp_cid = filp_open(cidfilepath, O_RDONLY, 0);
if (!IS_ERR(fp_cid)) {
kernel_read(fp_cid, fp_cid->f_pos, cid_buf, sizeof(cid_buf));
if(strstr(cid_buf,"samsung")||strstr(cid_buf,"murata")||strstr(cid_buf,"semcove")) {
/* file does exist, just return */
filp_close(fp_cid, NULL);
return 0;
}
DHD_ERROR(("[WIFI].cid.info file already exists but it contains an unknown id [%s]\n", cid_buf));
}
cish->source = 0;
cish->byteoff = 0;
cish->nbytes = sizeof(cis_buf);
strcpy(cis_buf, "cisdump");
ret = dhd_wl_ioctl_cmd(dhd, WLC_GET_VAR, cis_buf, sizeof(cis_buf), 0, 0);
if (ret < 0) {
DHD_ERROR(("%s: CIS reading failed, err=%d\n", __FUNCTION__, ret));
} else {
unsigned char id[4] = {0x80, 0x06, 0x81, 0x00};
unsigned char id_swb42a[4] = {0x80, 0x02, 0x81, 0x99}; //SWB_42A
#ifdef DUMP_CIS
dump_cis(cis_buf, 48);
#endif
if (memcmp(&cis_buf[CIS_CID_OFFSET], id, 4) == 0) {
DHD_ERROR(("CID MATCH FOUND\n"));
write_cid_file(cidfilepath, "murata", 6);
}
else if (memcmp(&cis_buf[CIS_CID_OFFSET], id_swb42a, 4) == 0) { //SWB_42A
DHD_ERROR(("CID MATCH FOUND semcove \n"));
write_cid_file(cidfilepath, "semcove", 7);
}
else {
DHD_ERROR(("CID MISMATCH 0x%02X 0x%02X 0x%02X 0x%02X\n",
cis_buf[CIS_CID_OFFSET], cis_buf[CIS_CID_OFFSET+1],
cis_buf[CIS_CID_OFFSET+2], cis_buf[CIS_CID_OFFSET+3]));
write_cid_file(cidfilepath, "samsung", 7);
}
}
return ret;
}
示例10: dhd_conf_set_bw
void
dhd_conf_set_bw(dhd_pub_t *dhd)
{
int bcmerror = -1;
char iovbuf[WL_EVENTING_MASK_LEN + 12]; /* Room for "event_msgs" + '\0' + bitvec */
uint32 mimo_bw_cap = 1; /* Turn HT40 on in 2.4 GHz */
if (dhd_bus_chip_id(dhd) == BCM43341_CHIP_ID ||
dhd_bus_chip_id(dhd) == BCM4324_CHIP_ID ||
dhd_bus_chip_id(dhd) == BCM4335_CHIP_ID ||
dhd_bus_chip_id(dhd) == BCM4339_CHIP_ID) {
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_DOWN, NULL, 0, TRUE, 0)) < 0)
CONFIG_ERROR(("%s: WLC_DOWN setting failed %d\n", __FUNCTION__, bcmerror));
/* Enable HT40 in 2.4 GHz */
printf("%s: Enable HT40 in 2.4 GHz\n", __FUNCTION__);
bcm_mkiovar("mimo_bw_cap", (char *)&mimo_bw_cap, 4, iovbuf, sizeof(iovbuf));
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: mimo_bw_cap setting failed %d\n", __FUNCTION__, bcmerror));
}
}
示例11: dhd_conf_set_band
int
dhd_conf_set_band(dhd_pub_t *dhd)
{
int bcmerror = -1;
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_BAND, &dhd->conf->band,
sizeof(dhd->conf->band), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: band set failed %d\n", __FUNCTION__, bcmerror));
return bcmerror;
}
示例12: dhd_flow_prio_map
/* Set/Get flwo ring priority map */
int dhd_flow_prio_map(dhd_pub_t *dhd, uint8 *map, bool set)
{
uint8 iovbuf[24];
if (!set) {
bcm_mkiovar("bus:fl_prio_map", NULL, 0, (char*)iovbuf, sizeof(iovbuf));
if (dhd_wl_ioctl_cmd(dhd, WLC_GET_VAR, iovbuf, sizeof(iovbuf), FALSE, 0) < 0) {
DHD_ERROR(("%s: failed to get fl_prio_map\n", __FUNCTION__));
return BCME_ERROR;
}
*map = iovbuf[0];
return BCME_OK;
}
bcm_mkiovar("bus:fl_prio_map", (char *)map, 4, (char*)iovbuf, sizeof(iovbuf));
if (dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0) < 0) {
DHD_ERROR(("%s: failed to set fl_prio_map \n",
__FUNCTION__));
return BCME_ERROR;
}
return BCME_OK;
}
示例13: dhd_conf_force_wme
void
dhd_conf_force_wme(dhd_pub_t *dhd)
{
int bcmerror = -1;
char iovbuf[WL_EVENTING_MASK_LEN + 12]; /* Room for "event_msgs" + '\0' + bitvec */
if (dhd_bus_chip_id(dhd) == BCM43362_CHIP_ID && dhd->conf->force_wme_ac) {
bcm_mkiovar("force_wme_ac", (char *)&dhd->conf->force_wme_ac, 4, iovbuf, sizeof(iovbuf));
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: force_wme_ac setting failed %d\n", __FUNCTION__, bcmerror));
}
}
示例14: dhd_iscan_get_partial_result
static int
dhd_iscan_get_partial_result(void *dhdp, uint *scan_count)
{
wl_iscan_results_t *list_buf;
wl_iscan_results_t list;
wl_scan_results_t *results;
iscan_buf_t *iscan_cur;
int status = -1;
dhd_pub_t *dhd = dhd_bus_pub(dhdp);
int rc;
DHD_TRACE(("%s: Enter\n", __FUNCTION__));
iscan_cur = dhd_iscan_allocate_buf(dhd, &iscan_chain);
if (!iscan_cur) {
DHD_ERROR(("%s: Failed to allocate node\n", __FUNCTION__));
dhd_iscan_free_buf(dhdp, 0);
dhd_iscan_request(dhdp, WL_SCAN_ACTION_ABORT);
dhd_ind_scan_confirm(dhdp, FALSE);
goto fail;
}
dhd_iscan_lock();
memset(iscan_cur->iscan_buf, 0, WLC_IW_ISCAN_MAXLEN);
list_buf = (wl_iscan_results_t*)iscan_cur->iscan_buf;
results = &list_buf->results;
results->buflen = WL_ISCAN_RESULTS_FIXED_SIZE;
results->version = 0;
results->count = 0;
memset(&list, 0, sizeof(list));
list.results.buflen = htod32(WLC_IW_ISCAN_MAXLEN);
bcm_mkiovar("iscanresults", (char *)&list, WL_ISCAN_RESULTS_FIXED_SIZE,
iscan_cur->iscan_buf, WLC_IW_ISCAN_MAXLEN);
rc = dhd_wl_ioctl_cmd(dhd, WLC_GET_VAR, iscan_cur->iscan_buf,
WLC_IW_ISCAN_MAXLEN, FALSE, 0);
results->buflen = dtoh32(results->buflen);
results->version = dtoh32(results->version);
*scan_count = results->count = dtoh32(results->count);
status = dtoh32(list_buf->status);
DHD_TRACE(("%s: Got %d resuls\n", __FUNCTION__, results->count));
dhd_iscan_unlock();
if (!(*scan_count)) {
dhd_iscan_free_buf(dhdp, iscan_cur);
}
fail:
return status;
}
示例15: dhd_conf_set_stbc
void
dhd_conf_set_stbc(dhd_pub_t *dhd)
{
int bcmerror = -1;
char iovbuf[WL_EVENTING_MASK_LEN + 12]; /* Room for "event_msgs" + '\0' + bitvec */
uint stbc = 0;
if (dhd_bus_chip_id(dhd) == BCM4324_CHIP_ID) {
if (dhd->conf->stbc >= 0) {
stbc = (uint)dhd->conf->stbc;
printf("%s: set stbc_tx %d\n", __FUNCTION__, stbc);
bcm_mkiovar("stbc_tx", (char *)&stbc, 4, iovbuf, sizeof(iovbuf));
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: stbc_tx setting failed %d\n", __FUNCTION__, bcmerror));
printf("%s: set stbc_rx %d\n", __FUNCTION__, stbc);
bcm_mkiovar("stbc_rx", (char *)&stbc, 4, iovbuf, sizeof(iovbuf));
if ((bcmerror = dhd_wl_ioctl_cmd(dhd, WLC_SET_VAR, iovbuf, sizeof(iovbuf), TRUE, 0)) < 0)
CONFIG_ERROR(("%s: stbc_rx setting failed %d\n", __FUNCTION__, bcmerror));
}
}
}