[PATCH] libertas: make debug configurable
The debug output of libertas was either not present or it was overwhelming. This patch adds the possibility to specify a bitmask for the area of interest. One should then only get the desired output. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
46868202b2
commit
9012b28a40
@@ -44,14 +44,14 @@ static int wlan_cmd_hw_spec(wlan_private * priv, struct cmd_ds_command *cmd)
|
||||
{
|
||||
struct cmd_ds_get_hw_spec *hwspec = &cmd->params.hwspec;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_get_hw_spec);
|
||||
cmd->size =
|
||||
cpu_to_le16(sizeof(struct cmd_ds_get_hw_spec) + S_DS_GEN);
|
||||
memcpy(hwspec->permanentaddr, priv->adapter->current_addr, ETH_ALEN);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ static int wlan_cmd_802_11_ps_mode(wlan_private * priv,
|
||||
u16 action = cmd_action;
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_802_11_ps_mode);
|
||||
cmd->size =
|
||||
@@ -73,8 +73,8 @@ static int wlan_cmd_802_11_ps_mode(wlan_private * priv,
|
||||
psm->multipledtim = 0;
|
||||
switch (action) {
|
||||
case cmd_subcmd_enter_ps:
|
||||
lbs_pr_debug(1, "PS command:" "SubCode- Enter PS\n");
|
||||
lbs_pr_debug(1, "locallisteninterval = %d\n",
|
||||
lbs_deb_cmd("PS command:" "SubCode- Enter PS\n");
|
||||
lbs_deb_cmd("locallisteninterval = %d\n",
|
||||
adapter->locallisteninterval);
|
||||
|
||||
psm->locallisteninterval =
|
||||
@@ -86,18 +86,18 @@ static int wlan_cmd_802_11_ps_mode(wlan_private * priv,
|
||||
break;
|
||||
|
||||
case cmd_subcmd_exit_ps:
|
||||
lbs_pr_debug(1, "PS command:" "SubCode- Exit PS\n");
|
||||
lbs_deb_cmd("PS command:" "SubCode- Exit PS\n");
|
||||
break;
|
||||
|
||||
case cmd_subcmd_sleep_confirmed:
|
||||
lbs_pr_debug(1, "PS command: SubCode- sleep confirm\n");
|
||||
lbs_deb_cmd("PS command: SubCode- sleep confirm\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ static int wlan_cmd_802_11_sleep_params(wlan_private * priv,
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
struct cmd_ds_802_11_sleep_params *sp = &cmd->params.sleep_params;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->size =
|
||||
cpu_to_le16((sizeof(struct cmd_ds_802_11_sleep_params)) +
|
||||
@@ -151,7 +151,7 @@ static int wlan_cmd_802_11_sleep_params(wlan_private * priv,
|
||||
sp->reserved = cpu_to_le16(adapter->sp.sp_reserved);
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ static int wlan_cmd_802_11_set_wep(wlan_private * priv,
|
||||
int ret = 0;
|
||||
struct assoc_request * assoc_req = pdata_buf;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_802_11_set_wep);
|
||||
cmd->size = cpu_to_le16((sizeof(struct cmd_ds_802_11_set_wep))
|
||||
@@ -175,7 +175,7 @@ static int wlan_cmd_802_11_set_wep(wlan_private * priv,
|
||||
int i;
|
||||
|
||||
if (!assoc_req) {
|
||||
lbs_pr_debug(1, "Invalid association request!");
|
||||
lbs_deb_cmd("Invalid association request!");
|
||||
ret = -1;
|
||||
goto done;
|
||||
}
|
||||
@@ -187,7 +187,7 @@ static int wlan_cmd_802_11_set_wep(wlan_private * priv,
|
||||
(assoc_req->wep_tx_keyidx &
|
||||
(u32)cmd_WEP_KEY_INDEX_MASK));
|
||||
|
||||
lbs_pr_debug(1, "Tx key Index: %u\n", wep->keyindex);
|
||||
lbs_deb_cmd("Tx key Index: %u\n", wep->keyindex);
|
||||
|
||||
/* Copy key types and material to host command structure */
|
||||
for (i = 0; i < 4; i++) {
|
||||
@@ -207,7 +207,7 @@ static int wlan_cmd_802_11_set_wep(wlan_private * priv,
|
||||
case 0:
|
||||
break;
|
||||
default:
|
||||
lbs_pr_debug(1, "Invalid WEP key %d length of %d\n",
|
||||
lbs_deb_cmd("Invalid WEP key %d length of %d\n",
|
||||
i, pkey->len);
|
||||
ret = -1;
|
||||
goto done;
|
||||
@@ -227,7 +227,7 @@ static int wlan_cmd_802_11_set_wep(wlan_private * priv,
|
||||
ret = 0;
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ static int wlan_cmd_802_11_key_material(wlan_private * priv,
|
||||
int ret = 0;
|
||||
int index = 0;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_802_11_key_material);
|
||||
pkeymaterial->action = cpu_to_le16(cmd_action);
|
||||
@@ -323,7 +323,7 @@ static int wlan_cmd_802_11_key_material(wlan_private * priv,
|
||||
ret = 0;
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -369,9 +369,9 @@ static int wlan_cmd_802_11_snmp_mib(wlan_private * priv,
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
u8 ucTemp;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
lbs_pr_debug(1, "SNMP_CMD: cmd_oid = 0x%x\n", cmd_oid);
|
||||
lbs_deb_cmd("SNMP_CMD: cmd_oid = 0x%x\n", cmd_oid);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_802_11_snmp_mib);
|
||||
cmd->size =
|
||||
@@ -477,16 +477,16 @@ static int wlan_cmd_802_11_snmp_mib(wlan_private * priv,
|
||||
break;
|
||||
}
|
||||
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"SNMP_CMD: command=0x%x, size=0x%x, seqnum=0x%x, result=0x%x\n",
|
||||
cmd->command, cmd->size, cmd->seqnum, cmd->result);
|
||||
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"SNMP_CMD: action=0x%x, oid=0x%x, oidsize=0x%x, value=0x%x\n",
|
||||
pSNMPMIB->querytype, pSNMPMIB->oid, pSNMPMIB->bufsize,
|
||||
*(u16 *) pSNMPMIB->value);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -498,7 +498,7 @@ static int wlan_cmd_802_11_radio_control(wlan_private * priv,
|
||||
struct cmd_ds_802_11_radio_control *pradiocontrol =
|
||||
&cmd->params.radio;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->size =
|
||||
cpu_to_le16((sizeof(struct cmd_ds_802_11_radio_control)) +
|
||||
@@ -527,7 +527,7 @@ static int wlan_cmd_802_11_radio_control(wlan_private * priv,
|
||||
else
|
||||
pradiocontrol->control &= cpu_to_le16(~TURN_ON_RF);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -538,7 +538,7 @@ static int wlan_cmd_802_11_rf_tx_power(wlan_private * priv,
|
||||
|
||||
struct cmd_ds_802_11_rf_tx_power *prtp = &cmd->params.txp;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->size =
|
||||
cpu_to_le16((sizeof(struct cmd_ds_802_11_rf_tx_power)) +
|
||||
@@ -546,7 +546,7 @@ static int wlan_cmd_802_11_rf_tx_power(wlan_private * priv,
|
||||
cmd->command = cpu_to_le16(cmd_802_11_rf_tx_power);
|
||||
prtp->action = cmd_action;
|
||||
|
||||
lbs_pr_debug(1, "RF_TX_POWER_CMD: size:%d cmd:0x%x Act:%d\n", cmd->size,
|
||||
lbs_deb_cmd("RF_TX_POWER_CMD: size:%d cmd:0x%x Act:%d\n", cmd->size,
|
||||
cmd->command, prtp->action);
|
||||
|
||||
switch (cmd_action) {
|
||||
@@ -572,7 +572,8 @@ static int wlan_cmd_802_11_rf_tx_power(wlan_private * priv,
|
||||
prtp->currentlevel = cpu_to_le16(*((u16 *) pdata_buf));
|
||||
break;
|
||||
}
|
||||
LEAVE();
|
||||
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -610,13 +611,13 @@ static int wlan_cmd_802_11_rate_adapt_rateset(wlan_private * priv,
|
||||
+ S_DS_GEN);
|
||||
cmd->command = cpu_to_le16(cmd_802_11_rate_adapt_rateset);
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
rateadapt->action = cmd_action;
|
||||
rateadapt->enablehwauto = adapter->enablehwauto;
|
||||
rateadapt->bitmap = adapter->ratebitmap;
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -628,7 +629,7 @@ static int wlan_cmd_802_11_data_rate(wlan_private * priv,
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
u16 action = cmd_action;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->size =
|
||||
cpu_to_le16(sizeof(struct cmd_ds_802_11_data_rate) +
|
||||
@@ -642,13 +643,13 @@ static int wlan_cmd_802_11_data_rate(wlan_private * priv,
|
||||
|
||||
if (action == cmd_act_set_tx_fix_rate) {
|
||||
pdatarate->datarate[0] = libertas_data_rate_to_index(adapter->datarate);
|
||||
lbs_pr_debug(1, "Setting FW for fixed rate 0x%02X\n",
|
||||
lbs_deb_cmd("Setting FW for fixed rate 0x%02X\n",
|
||||
adapter->datarate);
|
||||
} else if (action == cmd_act_set_tx_auto) {
|
||||
lbs_pr_debug(1, "Setting FW for AUTO rate\n");
|
||||
lbs_deb_cmd("Setting FW for AUTO rate\n");
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -719,7 +720,7 @@ static int wlan_cmd_reg_access(wlan_private * priv,
|
||||
{
|
||||
struct wlan_offset_value *offval;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
offval = (struct wlan_offset_value *)pdata_buf;
|
||||
|
||||
@@ -785,7 +786,7 @@ static int wlan_cmd_reg_access(wlan_private * priv,
|
||||
break;
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -818,7 +819,7 @@ static int wlan_cmd_802_11_eeprom_access(wlan_private * priv,
|
||||
{
|
||||
struct wlan_ioctl_regrdwr *ea = pdata_buf;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_802_11_eeprom_access);
|
||||
cmd->size =
|
||||
@@ -839,7 +840,7 @@ static int wlan_cmd_bt_access(wlan_private * priv,
|
||||
u16 cmd_action, void *pdata_buf)
|
||||
{
|
||||
struct cmd_ds_bt_access *bt_access = &cmd->params.bt;
|
||||
lbs_pr_debug(1, "BT CMD(%d)\n", cmd_action);
|
||||
lbs_deb_cmd("BT CMD(%d)\n", cmd_action);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_bt_access);
|
||||
cmd->size = cpu_to_le16(sizeof(struct cmd_ds_bt_access)
|
||||
@@ -872,7 +873,7 @@ static int wlan_cmd_fwt_access(wlan_private * priv,
|
||||
u16 cmd_action, void *pdata_buf)
|
||||
{
|
||||
struct cmd_ds_fwt_access *fwt_access = &cmd->params.fwt;
|
||||
lbs_pr_debug(1, "FWT CMD(%d)\n", cmd_action);
|
||||
lbs_deb_cmd("FWT CMD(%d)\n", cmd_action);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_fwt_access);
|
||||
cmd->size = cpu_to_le16(sizeof(struct cmd_ds_fwt_access)
|
||||
@@ -894,7 +895,7 @@ static int wlan_cmd_mesh_access(wlan_private * priv,
|
||||
u16 cmd_action, void *pdata_buf)
|
||||
{
|
||||
struct cmd_ds_mesh_access *mesh_access = &cmd->params.mesh;
|
||||
lbs_pr_debug(1, "FWT CMD(%d)\n", cmd_action);
|
||||
lbs_deb_cmd("FWT CMD(%d)\n", cmd_action);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_mesh_access);
|
||||
cmd->size = cpu_to_le16(sizeof(struct cmd_ds_mesh_access)
|
||||
@@ -916,16 +917,16 @@ void libertas_queue_cmd(wlan_adapter * adapter, struct cmd_ctrl_node *cmdnode, u
|
||||
unsigned long flags;
|
||||
struct cmd_ds_command *cmdptr;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
if (!cmdnode) {
|
||||
lbs_pr_debug(1, "QUEUE_CMD: cmdnode is NULL\n");
|
||||
lbs_deb_cmd("QUEUE_CMD: cmdnode is NULL\n");
|
||||
goto done;
|
||||
}
|
||||
|
||||
cmdptr = (struct cmd_ds_command *)cmdnode->bufvirtualaddr;
|
||||
if (!cmdptr) {
|
||||
lbs_pr_debug(1, "QUEUE_CMD: cmdptr is NULL\n");
|
||||
lbs_deb_cmd("QUEUE_CMD: cmdptr is NULL\n");
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -948,13 +949,12 @@ void libertas_queue_cmd(wlan_adapter * adapter, struct cmd_ctrl_node *cmdnode, u
|
||||
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
lbs_pr_debug(1, "QUEUE_CMD: Inserted node=%p, cmd=0x%x in cmdpendingq\n",
|
||||
lbs_deb_cmd("QUEUE_CMD: Inserted node=%p, cmd=0x%x in cmdpendingq\n",
|
||||
cmdnode,
|
||||
((struct cmd_ds_gen*)cmdnode->bufvirtualaddr)->command);
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
return;
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -974,10 +974,10 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
u16 cmdsize;
|
||||
u16 command;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
if (!adapter || !cmdnode) {
|
||||
lbs_pr_debug(1, "DNLD_CMD: adapter = %p, cmdnode = %p\n",
|
||||
lbs_deb_cmd("DNLD_CMD: adapter = %p, cmdnode = %p\n",
|
||||
adapter, cmdnode);
|
||||
if (cmdnode) {
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
@@ -993,7 +993,7 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
if (!cmdptr || !cmdptr->size) {
|
||||
lbs_pr_debug(1, "DNLD_CMD: cmdptr is Null or cmd size is Zero, "
|
||||
lbs_deb_cmd("DNLD_CMD: cmdptr is Null or cmd size is Zero, "
|
||||
"Not sending\n");
|
||||
__libertas_cleanup_and_insert_cmd(priv, cmdnode);
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
@@ -1004,7 +1004,7 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
adapter->cur_cmd = cmdnode;
|
||||
adapter->cur_cmd_retcode = 0;
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
lbs_pr_debug(1, "DNLD_CMD:: Before download, size of cmd = %d\n",
|
||||
lbs_deb_cmd("DNLD_CMD:: Before download, size of cmd = %d\n",
|
||||
cmdptr->size);
|
||||
|
||||
cmdsize = cmdptr->size;
|
||||
@@ -1017,7 +1017,7 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
ret = libertas_sbi_host_to_card(priv, MVMS_CMD, (u8 *) cmdptr, cmdsize);
|
||||
|
||||
if (ret != 0) {
|
||||
lbs_pr_debug(1, "DNLD_CMD: Host to Card failed\n");
|
||||
lbs_deb_cmd("DNLD_CMD: Host to Card failed\n");
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
__libertas_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
|
||||
adapter->cur_cmd = NULL;
|
||||
@@ -1026,7 +1026,7 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
goto done;
|
||||
}
|
||||
|
||||
lbs_pr_debug(1, "DNLD_CMD: Sent command 0x%x @ %lu\n", command, jiffies);
|
||||
lbs_deb_cmd("DNLD_CMD: Sent command 0x%x @ %lu\n", command, jiffies);
|
||||
lbs_dbg_hex("DNLD_CMD: command", cmdnode->bufvirtualaddr, cmdsize);
|
||||
|
||||
/* Setup the timer after transmit command */
|
||||
@@ -1039,8 +1039,8 @@ static int DownloadcommandToStation(wlan_private * priv,
|
||||
|
||||
ret = 0;
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
done:
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1049,17 +1049,17 @@ static int wlan_cmd_mac_control(wlan_private * priv,
|
||||
{
|
||||
struct cmd_ds_mac_control *mac = &cmd->params.macctrl;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
cmd->command = cpu_to_le16(cmd_mac_control);
|
||||
cmd->size =
|
||||
cpu_to_le16(sizeof(struct cmd_ds_mac_control) + S_DS_GEN);
|
||||
mac->action = cpu_to_le16(priv->adapter->currentpacketfilter);
|
||||
|
||||
lbs_pr_debug(1, "wlan_cmd_mac_control(): action=0x%X size=%d\n",
|
||||
lbs_deb_cmd("wlan_cmd_mac_control(): action=0x%X size=%d\n",
|
||||
mac->action, cmd->size);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1093,17 +1093,17 @@ int libertas_set_radio_control(wlan_private * priv)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
ret = libertas_prepare_and_send_command(priv,
|
||||
cmd_802_11_radio_control,
|
||||
cmd_act_set,
|
||||
cmd_option_waitforrsp, 0, NULL);
|
||||
|
||||
lbs_pr_debug(1, "RADIO_SET: on or off: 0x%X, preamble = 0x%X\n",
|
||||
lbs_deb_cmd("RADIO_SET: on or off: 0x%X, preamble = 0x%X\n",
|
||||
priv->adapter->radioon, priv->adapter->preamble);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1111,16 +1111,16 @@ int libertas_set_mac_packet_filter(wlan_private * priv)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
lbs_pr_debug(1, "libertas_set_mac_packet_filter value = %x\n",
|
||||
lbs_deb_cmd("libertas_set_mac_packet_filter value = %x\n",
|
||||
priv->adapter->currentpacketfilter);
|
||||
|
||||
/* Send MAC control command to station */
|
||||
ret = libertas_prepare_and_send_command(priv,
|
||||
cmd_mac_control, 0, 0, 0, NULL);
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1146,16 +1146,16 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
struct cmd_ds_command *cmdptr;
|
||||
unsigned long flags;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
if (!adapter) {
|
||||
lbs_pr_debug(1, "PREP_CMD: adapter is Null\n");
|
||||
lbs_deb_cmd("PREP_CMD: adapter is Null\n");
|
||||
ret = -1;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (adapter->surpriseremoved) {
|
||||
lbs_pr_debug(1, "PREP_CMD: Card is Removed\n");
|
||||
lbs_deb_cmd("PREP_CMD: Card is Removed\n");
|
||||
ret = -1;
|
||||
goto done;
|
||||
}
|
||||
@@ -1163,7 +1163,7 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
cmdnode = libertas_get_free_cmd_ctrl_node(priv);
|
||||
|
||||
if (cmdnode == NULL) {
|
||||
lbs_pr_debug(1, "PREP_CMD: No free cmdnode\n");
|
||||
lbs_deb_cmd("PREP_CMD: No free cmdnode\n");
|
||||
|
||||
/* Wake up main thread to execute next command */
|
||||
wake_up_interruptible(&priv->mainthread.waitq);
|
||||
@@ -1175,11 +1175,11 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
|
||||
cmdptr = (struct cmd_ds_command *)cmdnode->bufvirtualaddr;
|
||||
|
||||
lbs_pr_debug(1, "PREP_CMD: Val of cmd ptr=%p, command=0x%X\n",
|
||||
lbs_deb_cmd("PREP_CMD: Val of cmd ptr=%p, command=0x%X\n",
|
||||
cmdptr, cmd_no);
|
||||
|
||||
if (!cmdptr) {
|
||||
lbs_pr_debug(1, "PREP_CMD: bufvirtualaddr of cmdnode is NULL\n");
|
||||
lbs_deb_cmd("PREP_CMD: bufvirtualaddr of cmdnode is NULL\n");
|
||||
libertas_cleanup_and_insert_cmd(priv, cmdnode);
|
||||
ret = -1;
|
||||
goto done;
|
||||
@@ -1421,14 +1421,14 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
ret = 0;
|
||||
break;
|
||||
default:
|
||||
lbs_pr_debug(1, "PREP_CMD: unknown command- %#x\n", cmd_no);
|
||||
lbs_deb_cmd("PREP_CMD: unknown command- %#x\n", cmd_no);
|
||||
ret = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
/* return error, since the command preparation failed */
|
||||
if (ret != 0) {
|
||||
lbs_pr_debug(1, "PREP_CMD: command preparation failed\n");
|
||||
lbs_deb_cmd("PREP_CMD: command preparation failed\n");
|
||||
libertas_cleanup_and_insert_cmd(priv, cmdnode);
|
||||
ret = -1;
|
||||
goto done;
|
||||
@@ -1441,7 +1441,7 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
wake_up_interruptible(&priv->mainthread.waitq);
|
||||
|
||||
if (wait_option & cmd_option_waitforrsp) {
|
||||
lbs_pr_debug(1, "PREP_CMD: Wait for CMD response\n");
|
||||
lbs_deb_cmd("PREP_CMD: Wait for CMD response\n");
|
||||
might_sleep();
|
||||
wait_event_interruptible(cmdnode->cmdwait_q,
|
||||
cmdnode->cmdwaitqwoken);
|
||||
@@ -1449,7 +1449,7 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
if (adapter->cur_cmd_retcode) {
|
||||
lbs_pr_debug(1, "PREP_CMD: command failed with return code=%d\n",
|
||||
lbs_deb_cmd("PREP_CMD: command failed with return code=%d\n",
|
||||
adapter->cur_cmd_retcode);
|
||||
adapter->cur_cmd_retcode = 0;
|
||||
ret = -1;
|
||||
@@ -1457,7 +1457,7 @@ int libertas_prepare_and_send_command(wlan_private * priv,
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1477,13 +1477,13 @@ int libertas_allocate_cmd_buffer(wlan_private * priv)
|
||||
u8 *ptempvirtualaddr;
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
/* Allocate and initialize cmdCtrlNode */
|
||||
ulbufsize = sizeof(struct cmd_ctrl_node) * MRVDRV_NUM_OF_CMD_BUFFER;
|
||||
|
||||
if (!(tempcmd_array = kmalloc(ulbufsize, GFP_KERNEL))) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"ALLOC_CMD_BUF: failed to allocate tempcmd_array\n");
|
||||
ret = -1;
|
||||
goto done;
|
||||
@@ -1496,7 +1496,7 @@ int libertas_allocate_cmd_buffer(wlan_private * priv)
|
||||
ulbufsize = MRVDRV_SIZE_OF_CMD_BUFFER;
|
||||
for (i = 0; i < MRVDRV_NUM_OF_CMD_BUFFER; i++) {
|
||||
if (!(ptempvirtualaddr = kmalloc(ulbufsize, GFP_KERNEL))) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"ALLOC_CMD_BUF: ptempvirtualaddr: out of memory\n");
|
||||
ret = -1;
|
||||
goto done;
|
||||
@@ -1514,8 +1514,9 @@ int libertas_allocate_cmd_buffer(wlan_private * priv)
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
done:
|
||||
LEAVE();
|
||||
|
||||
done:
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1532,11 +1533,11 @@ int libertas_free_cmd_buffer(wlan_private * priv)
|
||||
struct cmd_ctrl_node *tempcmd_array;
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
/* need to check if cmd array is allocated or not */
|
||||
if (adapter->cmd_array == NULL) {
|
||||
lbs_pr_debug(1, "FREE_CMD_BUF: cmd_array is Null\n");
|
||||
lbs_deb_cmd("FREE_CMD_BUF: cmd_array is Null\n");
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -1546,7 +1547,7 @@ int libertas_free_cmd_buffer(wlan_private * priv)
|
||||
ulbufsize = MRVDRV_SIZE_OF_CMD_BUFFER;
|
||||
for (i = 0; i < MRVDRV_NUM_OF_CMD_BUFFER; i++) {
|
||||
if (tempcmd_array[i].bufvirtualaddr) {
|
||||
lbs_pr_debug(1, "Free all the array\n");
|
||||
lbs_deb_cmd("Free all the array\n");
|
||||
kfree(tempcmd_array[i].bufvirtualaddr);
|
||||
tempcmd_array[i].bufvirtualaddr = NULL;
|
||||
}
|
||||
@@ -1554,13 +1555,13 @@ int libertas_free_cmd_buffer(wlan_private * priv)
|
||||
|
||||
/* Release cmd_ctrl_node */
|
||||
if (adapter->cmd_array) {
|
||||
lbs_pr_debug(1, "Free cmd_array\n");
|
||||
lbs_deb_cmd("Free cmd_array\n");
|
||||
kfree(adapter->cmd_array);
|
||||
adapter->cmd_array = NULL;
|
||||
}
|
||||
|
||||
done:
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1586,16 +1587,18 @@ struct cmd_ctrl_node *libertas_get_free_cmd_ctrl_node(wlan_private * priv)
|
||||
tempnode = (struct cmd_ctrl_node *)adapter->cmdfreeq.next;
|
||||
list_del((struct list_head *)tempnode);
|
||||
} else {
|
||||
lbs_pr_debug(1, "GET_CMD_NODE: cmd_ctrl_node is not available\n");
|
||||
lbs_deb_cmd("GET_CMD_NODE: cmd_ctrl_node is not available\n");
|
||||
tempnode = NULL;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
if (tempnode) {
|
||||
/*
|
||||
lbs_pr_debug(3, "GET_CMD_NODE: cmdCtrlNode available\n");
|
||||
lbs_pr_debug(3, "GET_CMD_NODE: cmdCtrlNode Address = %p\n",
|
||||
tempnode);
|
||||
*/
|
||||
cleanup_cmdnode(tempnode);
|
||||
}
|
||||
|
||||
@@ -1638,7 +1641,7 @@ void libertas_set_cmd_ctrl_node(wlan_private * priv,
|
||||
struct cmd_ctrl_node *ptempnode,
|
||||
u32 cmd_oid, u16 wait_option, void *pdata_buf)
|
||||
{
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
if (!ptempnode)
|
||||
return;
|
||||
@@ -1647,7 +1650,7 @@ void libertas_set_cmd_ctrl_node(wlan_private * priv,
|
||||
ptempnode->wait_option = wait_option;
|
||||
ptempnode->pdata_buf = pdata_buf;
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1666,7 +1669,7 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
unsigned long flags;
|
||||
int ret = 0;
|
||||
|
||||
lbs_pr_debug(1, "libertas_execute_next_command\n");
|
||||
lbs_deb_cmd("libertas_execute_next_command\n");
|
||||
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
|
||||
@@ -1685,7 +1688,7 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
if (cmdnode) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: Got next command from cmdpendingq\n");
|
||||
cmdptr = (struct cmd_ds_command *)cmdnode->bufvirtualaddr;
|
||||
|
||||
@@ -1693,13 +1696,13 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
if ((adapter->psstate == PS_STATE_SLEEP)
|
||||
|| (adapter->psstate == PS_STATE_PRE_SLEEP)
|
||||
) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: Cannot send cmd 0x%x in psstate %d\n",
|
||||
cmdptr->command, adapter->psstate);
|
||||
ret = -1;
|
||||
goto done;
|
||||
}
|
||||
lbs_pr_debug(1, "EXEC_NEXT_CMD: OK to send command "
|
||||
lbs_deb_cmd("EXEC_NEXT_CMD: OK to send command "
|
||||
"0x%x in psstate %d\n",
|
||||
cmdptr->command, adapter->psstate);
|
||||
} else if (adapter->psstate != PS_STATE_FULL_POWER) {
|
||||
@@ -1737,12 +1740,12 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
struct cmd_ds_802_11_ps_mode *psm =
|
||||
&cmdptr->params.psmode;
|
||||
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: PS cmd- action=0x%x\n",
|
||||
psm->action);
|
||||
if (psm->action !=
|
||||
cpu_to_le16(cmd_subcmd_exit_ps)) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: Ignore Enter PS cmd\n");
|
||||
list_del((struct list_head *)cmdnode);
|
||||
libertas_cleanup_and_insert_cmd(priv, cmdnode);
|
||||
@@ -1754,7 +1757,7 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
if ((adapter->psstate == PS_STATE_SLEEP)
|
||||
|| (adapter->psstate == PS_STATE_PRE_SLEEP)
|
||||
) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: Ignore ExitPS cmd in sleep\n");
|
||||
list_del((struct list_head *)cmdnode);
|
||||
libertas_cleanup_and_insert_cmd(priv, cmdnode);
|
||||
@@ -1764,12 +1767,12 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
goto done;
|
||||
}
|
||||
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: Sending Exit_PS down...\n");
|
||||
}
|
||||
}
|
||||
list_del((struct list_head *)cmdnode);
|
||||
lbs_pr_debug(1, "EXEC_NEXT_CMD: Sending 0x%04X command\n",
|
||||
lbs_deb_cmd("EXEC_NEXT_CMD: Sending 0x%04X command\n",
|
||||
cmdptr->command);
|
||||
DownloadcommandToStation(priv, cmdnode);
|
||||
} else {
|
||||
@@ -1785,13 +1788,13 @@ int libertas_execute_next_command(wlan_private * priv)
|
||||
/* check for valid WPA group keys */
|
||||
if (adapter->wpa_mcast_key.len
|
||||
|| adapter->wpa_unicast_key.len) {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: WPA enabled and GTK_SET"
|
||||
" go back to PS_SLEEP");
|
||||
libertas_ps_sleep(priv, 0);
|
||||
}
|
||||
} else {
|
||||
lbs_pr_debug(1,
|
||||
lbs_deb_cmd(
|
||||
"EXEC_NEXT_CMD: command PendQ is empty,"
|
||||
" go back to PS_SLEEP");
|
||||
libertas_ps_sleep(priv, 0);
|
||||
@@ -1809,7 +1812,7 @@ void libertas_send_iwevcustom_event(wlan_private * priv, s8 * str)
|
||||
union iwreq_data iwrq;
|
||||
u8 buf[50];
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
memset(&iwrq, 0, sizeof(union iwreq_data));
|
||||
memset(buf, 0, sizeof(buf));
|
||||
@@ -1819,15 +1822,14 @@ void libertas_send_iwevcustom_event(wlan_private * priv, s8 * str)
|
||||
iwrq.data.length = strlen(buf) + 1 + IW_EV_LCP_LEN;
|
||||
|
||||
/* Send Event to upper layer */
|
||||
lbs_pr_debug(1, "Event Indication string = %s\n",
|
||||
lbs_deb_cmd("Event Indication string = %s\n",
|
||||
(char *)buf);
|
||||
lbs_pr_debug(1, "Event Indication String length = %d\n", iwrq.data.length);
|
||||
lbs_deb_cmd("Event Indication String length = %d\n", iwrq.data.length);
|
||||
|
||||
lbs_pr_debug(1, "Sending wireless event IWEVCUSTOM for %s\n", str);
|
||||
lbs_deb_cmd("Sending wireless event IWEVCUSTOM for %s\n", str);
|
||||
wireless_send_event(priv->wlan_dev.netdev, IWEVCUSTOM, &iwrq, buf);
|
||||
|
||||
LEAVE();
|
||||
return;
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
||||
static int sendconfirmsleep(wlan_private * priv, u8 * cmdptr, u16 size)
|
||||
@@ -1836,9 +1838,9 @@ static int sendconfirmsleep(wlan_private * priv, u8 * cmdptr, u16 size)
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
int ret = 0;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
lbs_pr_debug(1, "SEND_SLEEPC_CMD: Before download, size of cmd = %d\n",
|
||||
lbs_deb_cmd("SEND_SLEEPC_CMD: Before download, size of cmd = %d\n",
|
||||
size);
|
||||
|
||||
lbs_dbg_hex("SEND_SLEEPC_CMD: Sleep confirm command", cmdptr, size);
|
||||
@@ -1848,7 +1850,7 @@ static int sendconfirmsleep(wlan_private * priv, u8 * cmdptr, u16 size)
|
||||
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
if (adapter->intcounter || adapter->currenttxskb)
|
||||
lbs_pr_debug(1, "SEND_SLEEPC_CMD: intcounter=%d currenttxskb=%p\n",
|
||||
lbs_deb_cmd("SEND_SLEEPC_CMD: intcounter=%d currenttxskb=%p\n",
|
||||
adapter->intcounter, adapter->currenttxskb);
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
@@ -1860,23 +1862,22 @@ static int sendconfirmsleep(wlan_private * priv, u8 * cmdptr, u16 size)
|
||||
if (!adapter->intcounter) {
|
||||
adapter->psstate = PS_STATE_SLEEP;
|
||||
} else {
|
||||
lbs_pr_debug(1, "SEND_SLEEPC_CMD: After sent,IntC=%d\n",
|
||||
lbs_deb_cmd("SEND_SLEEPC_CMD: After sent,IntC=%d\n",
|
||||
adapter->intcounter);
|
||||
}
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
lbs_pr_debug(1, "SEND_SLEEPC_CMD: Sent Confirm Sleep command\n");
|
||||
lbs_pr_debug(1, "+");
|
||||
lbs_deb_cmd("SEND_SLEEPC_CMD: Sent Confirm Sleep command\n");
|
||||
lbs_deb_cmd("+");
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave_args(LBS_DEB_CMD, "ret %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void libertas_ps_sleep(wlan_private * priv, int wait_option)
|
||||
{
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
/*
|
||||
* PS is currently supported only in Infrastructure mode
|
||||
@@ -1886,8 +1887,7 @@ void libertas_ps_sleep(wlan_private * priv, int wait_option)
|
||||
libertas_prepare_and_send_command(priv, cmd_802_11_ps_mode,
|
||||
cmd_subcmd_enter_ps, wait_option, 0, NULL);
|
||||
|
||||
LEAVE();
|
||||
return;
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1901,18 +1901,17 @@ void libertas_ps_wakeup(wlan_private * priv, int wait_option)
|
||||
{
|
||||
enum WLAN_802_11_POWER_MODE Localpsmode;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
Localpsmode = wlan802_11powermodecam;
|
||||
|
||||
lbs_pr_debug(1, "Exit_PS: Localpsmode = %d\n", Localpsmode);
|
||||
lbs_deb_cmd("Exit_PS: Localpsmode = %d\n", Localpsmode);
|
||||
|
||||
libertas_prepare_and_send_command(priv, cmd_802_11_ps_mode,
|
||||
cmd_subcmd_exit_ps,
|
||||
wait_option, 0, &Localpsmode);
|
||||
|
||||
LEAVE();
|
||||
return;
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1929,31 +1928,31 @@ void libertas_ps_confirm_sleep(wlan_private * priv, u16 psmode)
|
||||
wlan_adapter *adapter = priv->adapter;
|
||||
u8 allowed = 1;
|
||||
|
||||
ENTER();
|
||||
lbs_deb_enter(LBS_DEB_CMD);
|
||||
|
||||
if (priv->wlan_dev.dnld_sent) {
|
||||
allowed = 0;
|
||||
lbs_pr_debug(1, "D");
|
||||
lbs_deb_cmd("D");
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&adapter->driver_lock, flags);
|
||||
if (adapter->cur_cmd) {
|
||||
allowed = 0;
|
||||
lbs_pr_debug(1, "C");
|
||||
lbs_deb_cmd("C");
|
||||
}
|
||||
if (adapter->intcounter > 0) {
|
||||
allowed = 0;
|
||||
lbs_pr_debug(1, "I%d", adapter->intcounter);
|
||||
lbs_deb_cmd("I%d", adapter->intcounter);
|
||||
}
|
||||
spin_unlock_irqrestore(&adapter->driver_lock, flags);
|
||||
|
||||
if (allowed) {
|
||||
lbs_pr_debug(1, "Sending libertas_ps_confirm_sleep\n");
|
||||
lbs_deb_cmd("Sending libertas_ps_confirm_sleep\n");
|
||||
sendconfirmsleep(priv, (u8 *) & adapter->libertas_ps_confirm_sleep,
|
||||
sizeof(struct PS_CMD_ConfirmSleep));
|
||||
} else {
|
||||
lbs_pr_debug(1, "Sleep Confirm has been delayed\n");
|
||||
lbs_deb_cmd("Sleep Confirm has been delayed\n");
|
||||
}
|
||||
|
||||
LEAVE();
|
||||
lbs_deb_leave(LBS_DEB_CMD);
|
||||
}
|
||||
|
Reference in New Issue
Block a user