Lines Matching refs:priv

30 int lbs_cmd_copyback(struct lbs_private *priv, unsigned long extra,  in lbs_cmd_copyback()  argument
53 static int lbs_cmd_async_callback(struct lbs_private *priv, unsigned long extra, in lbs_cmd_async_callback() argument
88 int lbs_update_hw_spec(struct lbs_private *priv) in lbs_update_hw_spec() argument
98 memcpy(cmd.permanentaddr, priv->current_addr, ETH_ALEN); in lbs_update_hw_spec()
99 ret = lbs_cmd_with_response(priv, CMD_GET_HW_SPEC, &cmd); in lbs_update_hw_spec()
103 priv->fwcapinfo = le32_to_cpu(cmd.fwcapinfo); in lbs_update_hw_spec()
107 priv->fwrelease = le32_to_cpu(cmd.fwrelease); in lbs_update_hw_spec()
108 priv->fwrelease = (priv->fwrelease << 8) | in lbs_update_hw_spec()
109 (priv->fwrelease >> 24 & 0xff); in lbs_update_hw_spec()
115 netdev_info(priv->dev, "%pM, fw %u.%u.%up%u, cap 0x%08x\n", in lbs_update_hw_spec()
117 priv->fwrelease >> 24 & 0xff, in lbs_update_hw_spec()
118 priv->fwrelease >> 16 & 0xff, in lbs_update_hw_spec()
119 priv->fwrelease >> 8 & 0xff, in lbs_update_hw_spec()
120 priv->fwrelease & 0xff, in lbs_update_hw_spec()
121 priv->fwcapinfo); in lbs_update_hw_spec()
132 if (MRVL_FW_MAJOR_REV(priv->fwrelease) == MRVL_FW_V4) in lbs_update_hw_spec()
133 priv->regioncode = (le16_to_cpu(cmd.regioncode) >> 8) & 0xFF; in lbs_update_hw_spec()
135 priv->regioncode = le16_to_cpu(cmd.regioncode) & 0xFF; in lbs_update_hw_spec()
139 if (priv->regioncode == lbs_region_code_to_index[i]) in lbs_update_hw_spec()
145 priv->regioncode = 0x10; in lbs_update_hw_spec()
146 netdev_info(priv->dev, in lbs_update_hw_spec()
150 if (priv->current_addr[0] == 0xff) in lbs_update_hw_spec()
151 memmove(priv->current_addr, cmd.permanentaddr, ETH_ALEN); in lbs_update_hw_spec()
153 if (!priv->copied_hwaddr) { in lbs_update_hw_spec()
154 memcpy(priv->dev->dev_addr, priv->current_addr, ETH_ALEN); in lbs_update_hw_spec()
155 if (priv->mesh_dev) in lbs_update_hw_spec()
156 memcpy(priv->mesh_dev->dev_addr, in lbs_update_hw_spec()
157 priv->current_addr, ETH_ALEN); in lbs_update_hw_spec()
158 priv->copied_hwaddr = 1; in lbs_update_hw_spec()
166 static int lbs_ret_host_sleep_cfg(struct lbs_private *priv, unsigned long dummy, in lbs_ret_host_sleep_cfg() argument
170 if (priv->is_host_sleep_activated) { in lbs_ret_host_sleep_cfg()
171 priv->is_host_sleep_configured = 0; in lbs_ret_host_sleep_cfg()
172 if (priv->psstate == PS_STATE_FULL_POWER) { in lbs_ret_host_sleep_cfg()
173 priv->is_host_sleep_activated = 0; in lbs_ret_host_sleep_cfg()
174 wake_up_interruptible(&priv->host_sleep_q); in lbs_ret_host_sleep_cfg()
177 priv->is_host_sleep_configured = 1; in lbs_ret_host_sleep_cfg()
183 int lbs_host_sleep_cfg(struct lbs_private *priv, uint32_t criteria, in lbs_host_sleep_cfg() argument
194 if (criteria == EHS_REMOVE_WAKEUP && !priv->ehs_remove_supported) in lbs_host_sleep_cfg()
199 cmd_config.gpio = priv->wol_gpio; in lbs_host_sleep_cfg()
200 cmd_config.gap = priv->wol_gap; in lbs_host_sleep_cfg()
208 ret = __lbs_cmd(priv, CMD_802_11_HOST_SLEEP_CFG, &cmd_config.hdr, in lbs_host_sleep_cfg()
217 netdev_info(priv->dev, "HOST_SLEEP_CFG failed %d\n", ret); in lbs_host_sleep_cfg()
234 int lbs_set_ps_mode(struct lbs_private *priv, u16 cmd_action, bool block) in lbs_set_ps_mode() argument
260 ret = lbs_cmd_with_response(priv, CMD_802_11_PS_MODE, &cmd); in lbs_set_ps_mode()
262 lbs_cmd_async(priv, CMD_802_11_PS_MODE, &cmd.hdr, sizeof (cmd)); in lbs_set_ps_mode()
269 int lbs_cmd_802_11_sleep_params(struct lbs_private *priv, uint16_t cmd_action, in lbs_cmd_802_11_sleep_params() argument
290 ret = lbs_cmd_with_response(priv, CMD_802_11_SLEEP_PARAMS, &cmd); in lbs_cmd_802_11_sleep_params()
311 static int lbs_wait_for_ds_awake(struct lbs_private *priv) in lbs_wait_for_ds_awake() argument
317 if (priv->is_deep_sleep) { in lbs_wait_for_ds_awake()
318 if (!wait_event_interruptible_timeout(priv->ds_awake_q, in lbs_wait_for_ds_awake()
319 !priv->is_deep_sleep, (10 * HZ))) { in lbs_wait_for_ds_awake()
320 netdev_err(priv->dev, "ds_awake_q: timer expired\n"); in lbs_wait_for_ds_awake()
329 int lbs_set_deep_sleep(struct lbs_private *priv, int deep_sleep) in lbs_set_deep_sleep() argument
336 if (priv->is_deep_sleep != 1) { in lbs_set_deep_sleep()
338 BUG_ON(!priv->enter_deep_sleep); in lbs_set_deep_sleep()
339 ret = priv->enter_deep_sleep(priv); in lbs_set_deep_sleep()
341 netif_stop_queue(priv->dev); in lbs_set_deep_sleep()
342 netif_carrier_off(priv->dev); in lbs_set_deep_sleep()
345 netdev_err(priv->dev, "deep sleep: already enabled\n"); in lbs_set_deep_sleep()
348 if (priv->is_deep_sleep) { in lbs_set_deep_sleep()
350 BUG_ON(!priv->exit_deep_sleep); in lbs_set_deep_sleep()
351 ret = priv->exit_deep_sleep(priv); in lbs_set_deep_sleep()
353 ret = lbs_wait_for_ds_awake(priv); in lbs_set_deep_sleep()
355 netdev_err(priv->dev, in lbs_set_deep_sleep()
365 static int lbs_ret_host_sleep_activate(struct lbs_private *priv, in lbs_ret_host_sleep_activate() argument
370 priv->is_host_sleep_activated = 1; in lbs_ret_host_sleep_activate()
371 wake_up_interruptible(&priv->host_sleep_q); in lbs_ret_host_sleep_activate()
376 int lbs_set_host_sleep(struct lbs_private *priv, int host_sleep) in lbs_set_host_sleep() argument
385 if (priv->is_host_sleep_activated != 1) { in lbs_set_host_sleep()
387 ret = lbs_host_sleep_cfg(priv, priv->wol_criteria, in lbs_set_host_sleep()
390 netdev_info(priv->dev, in lbs_set_host_sleep()
395 if (priv->psstate == PS_STATE_FULL_POWER) { in lbs_set_host_sleep()
396 ret = __lbs_cmd(priv, in lbs_set_host_sleep()
402 netdev_info(priv->dev, in lbs_set_host_sleep()
408 priv->host_sleep_q, in lbs_set_host_sleep()
409 priv->is_host_sleep_activated, in lbs_set_host_sleep()
411 netdev_err(priv->dev, in lbs_set_host_sleep()
416 netdev_err(priv->dev, "host sleep: already enabled\n"); in lbs_set_host_sleep()
419 if (priv->is_host_sleep_activated) in lbs_set_host_sleep()
420 ret = lbs_host_sleep_cfg(priv, criteria, in lbs_set_host_sleep()
436 int lbs_set_snmp_mib(struct lbs_private *priv, u32 oid, u16 val) in lbs_set_snmp_mib() argument
470 ret = lbs_cmd_with_response(priv, CMD_802_11_SNMP_MIB, &cmd); in lbs_set_snmp_mib()
486 int lbs_get_snmp_mib(struct lbs_private *priv, u32 oid, u16 *out_val) in lbs_get_snmp_mib() argument
498 ret = lbs_cmd_with_response(priv, CMD_802_11_SNMP_MIB, &cmd); in lbs_get_snmp_mib()
530 int lbs_get_tx_power(struct lbs_private *priv, s16 *curlevel, s16 *minlevel, in lbs_get_tx_power() argument
542 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_TX_POWER, &cmd); in lbs_get_tx_power()
563 int lbs_set_tx_power(struct lbs_private *priv, s16 dbm) in lbs_set_tx_power() argument
577 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_TX_POWER, &cmd); in lbs_set_tx_power()
592 int lbs_set_monitor_mode(struct lbs_private *priv, int enable) in lbs_set_monitor_mode() argument
605 ret = lbs_cmd_with_response(priv, CMD_802_11_MONITOR_MODE, &cmd); in lbs_set_monitor_mode()
607 priv->dev->type = enable ? ARPHRD_IEEE80211_RADIOTAP : in lbs_set_monitor_mode()
622 static int lbs_get_channel(struct lbs_private *priv) in lbs_get_channel() argument
633 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_CHANNEL, &cmd); in lbs_get_channel()
645 int lbs_update_channel(struct lbs_private *priv) in lbs_update_channel() argument
652 ret = lbs_get_channel(priv); in lbs_update_channel()
654 priv->channel = ret; in lbs_update_channel()
669 int lbs_set_channel(struct lbs_private *priv, u8 channel) in lbs_set_channel() argument
673 u8 old_channel = priv->channel; in lbs_set_channel()
684 ret = lbs_cmd_with_response(priv, CMD_802_11_RF_CHANNEL, &cmd); in lbs_set_channel()
688 priv->channel = (uint8_t) le16_to_cpu(cmd.channel); in lbs_set_channel()
690 priv->channel); in lbs_set_channel()
706 int lbs_get_rssi(struct lbs_private *priv, s8 *rssi, s8 *nf) in lbs_get_rssi() argument
721 ret = lbs_cmd_with_response(priv, CMD_802_11_RSSI, &cmd); in lbs_get_rssi()
739 int lbs_set_11d_domain_info(struct lbs_private *priv) in lbs_set_11d_domain_info() argument
741 struct wiphy *wiphy = priv->wdev->wiphy; in lbs_set_11d_domain_info()
756 if (!priv->country_code[0]) in lbs_set_11d_domain_info()
763 priv->country_code[0], priv->country_code[1]); in lbs_set_11d_domain_info()
768 domain->country_code[0] = priv->country_code[0]; in lbs_set_11d_domain_info()
769 domain->country_code[1] = priv->country_code[1]; in lbs_set_11d_domain_info()
849 ret = lbs_cmd_with_response(priv, CMD_802_11D_DOMAIN_INFO, &cmd); in lbs_set_11d_domain_info()
867 int lbs_get_reg(struct lbs_private *priv, u16 reg, u16 offset, u32 *value) in lbs_get_reg() argument
888 ret = lbs_cmd_with_response(priv, reg, &cmd); in lbs_get_reg()
912 int lbs_set_reg(struct lbs_private *priv, u16 reg, u16 offset, u32 value) in lbs_set_reg() argument
933 ret = lbs_cmd_with_response(priv, reg, &cmd); in lbs_set_reg()
940 static void lbs_queue_cmd(struct lbs_private *priv, in lbs_queue_cmd() argument
963 if (priv->psstate != PS_STATE_FULL_POWER) in lbs_queue_cmd()
971 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_queue_cmd()
974 list_add_tail(&cmdnode->list, &priv->cmdpendingq); in lbs_queue_cmd()
976 list_add(&cmdnode->list, &priv->cmdpendingq); in lbs_queue_cmd()
978 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_queue_cmd()
987 static void lbs_submit_command(struct lbs_private *priv, in lbs_submit_command() argument
1001 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_submit_command()
1002 priv->seqnum++; in lbs_submit_command()
1003 cmd->seqnum = cpu_to_le16(priv->seqnum); in lbs_submit_command()
1004 priv->cur_cmd = cmdnode; in lbs_submit_command()
1005 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_submit_command()
1018 ret = priv->hw_host_to_card(priv, MVMS_CMD, (u8 *) cmd, cmdsize); in lbs_submit_command()
1021 netdev_info(priv->dev, "DNLD_CMD: hw_host_to_card failed: %d\n", in lbs_submit_command()
1024 priv->dnld_sent = DNLD_RES_RECEIVED; in lbs_submit_command()
1025 lbs_complete_command(priv, cmdnode, ret); in lbs_submit_command()
1029 if (priv->is_auto_deep_sleep_enabled) { in lbs_submit_command()
1030 priv->wakeup_dev_required = 1; in lbs_submit_command()
1031 priv->dnld_sent = 0; in lbs_submit_command()
1033 priv->is_deep_sleep = 1; in lbs_submit_command()
1034 lbs_complete_command(priv, cmdnode, 0); in lbs_submit_command()
1037 mod_timer(&priv->command_timer, jiffies + timeo); in lbs_submit_command()
1047 static void __lbs_cleanup_and_insert_cmd(struct lbs_private *priv, in __lbs_cleanup_and_insert_cmd() argument
1060 list_add_tail(&cmdnode->list, &priv->cmdfreeq); in __lbs_cleanup_and_insert_cmd()
1065 static void lbs_cleanup_and_insert_cmd(struct lbs_private *priv, in lbs_cleanup_and_insert_cmd() argument
1070 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_cleanup_and_insert_cmd()
1071 __lbs_cleanup_and_insert_cmd(priv, ptempcmd); in lbs_cleanup_and_insert_cmd()
1072 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_cleanup_and_insert_cmd()
1075 void __lbs_complete_command(struct lbs_private *priv, struct cmd_ctrl_node *cmd, in __lbs_complete_command() argument
1091 __lbs_cleanup_and_insert_cmd(priv, cmd); in __lbs_complete_command()
1092 priv->cur_cmd = NULL; in __lbs_complete_command()
1093 wake_up(&priv->waitq); in __lbs_complete_command()
1096 void lbs_complete_command(struct lbs_private *priv, struct cmd_ctrl_node *cmd, in lbs_complete_command() argument
1100 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_complete_command()
1101 __lbs_complete_command(priv, cmd, result); in lbs_complete_command()
1102 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_complete_command()
1105 int lbs_set_radio(struct lbs_private *priv, u8 preamble, u8 radio_on) in lbs_set_radio() argument
1117 if (priv->fwrelease < 0x09000000) { in lbs_set_radio()
1133 priv->txpower_cur = 0; in lbs_set_radio()
1139 priv->radio_on = radio_on; in lbs_set_radio()
1141 ret = lbs_cmd_with_response(priv, CMD_802_11_RADIO_CONTROL, &cmd); in lbs_set_radio()
1148 void lbs_set_mac_control(struct lbs_private *priv) in lbs_set_mac_control() argument
1155 cmd.action = cpu_to_le16(priv->mac_control); in lbs_set_mac_control()
1158 lbs_cmd_async(priv, CMD_MAC_CONTROL, &cmd.hdr, sizeof(cmd)); in lbs_set_mac_control()
1163 int lbs_set_mac_control_sync(struct lbs_private *priv) in lbs_set_mac_control_sync() argument
1171 cmd.action = cpu_to_le16(priv->mac_control); in lbs_set_mac_control_sync()
1173 ret = lbs_cmd_with_response(priv, CMD_MAC_CONTROL, &cmd); in lbs_set_mac_control_sync()
1187 int lbs_allocate_cmd_buffer(struct lbs_private *priv) in lbs_allocate_cmd_buffer() argument
1203 priv->cmd_array = cmdarray; in lbs_allocate_cmd_buffer()
1217 lbs_cleanup_and_insert_cmd(priv, &cmdarray[i]); in lbs_allocate_cmd_buffer()
1233 int lbs_free_cmd_buffer(struct lbs_private *priv) in lbs_free_cmd_buffer() argument
1241 if (priv->cmd_array == NULL) { in lbs_free_cmd_buffer()
1246 cmdarray = priv->cmd_array; in lbs_free_cmd_buffer()
1257 if (priv->cmd_array) { in lbs_free_cmd_buffer()
1258 kfree(priv->cmd_array); in lbs_free_cmd_buffer()
1259 priv->cmd_array = NULL; in lbs_free_cmd_buffer()
1276 static struct cmd_ctrl_node *lbs_get_free_cmd_node(struct lbs_private *priv) in lbs_get_free_cmd_node() argument
1283 if (!priv) in lbs_get_free_cmd_node()
1286 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_get_free_cmd_node()
1288 if (!list_empty(&priv->cmdfreeq)) { in lbs_get_free_cmd_node()
1289 tempnode = list_first_entry(&priv->cmdfreeq, in lbs_get_free_cmd_node()
1297 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_get_free_cmd_node()
1311 int lbs_execute_next_command(struct lbs_private *priv) in lbs_execute_next_command() argument
1323 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_execute_next_command()
1325 if (priv->cur_cmd) { in lbs_execute_next_command()
1326 netdev_alert(priv->dev, in lbs_execute_next_command()
1328 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_execute_next_command()
1333 if (!list_empty(&priv->cmdpendingq)) { in lbs_execute_next_command()
1334 cmdnode = list_first_entry(&priv->cmdpendingq, in lbs_execute_next_command()
1338 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_execute_next_command()
1344 if ((priv->psstate == PS_STATE_SLEEP) || in lbs_execute_next_command()
1345 (priv->psstate == PS_STATE_PRE_SLEEP)) { in lbs_execute_next_command()
1349 priv->psstate); in lbs_execute_next_command()
1355 le16_to_cpu(cmd->command), priv->psstate); in lbs_execute_next_command()
1356 } else if (priv->psstate != PS_STATE_FULL_POWER) { in lbs_execute_next_command()
1371 if ((priv->psstate == PS_STATE_SLEEP) in lbs_execute_next_command()
1372 || (priv->psstate == PS_STATE_PRE_SLEEP) in lbs_execute_next_command()
1376 priv->needtowakeup = 1; in lbs_execute_next_command()
1378 lbs_set_ps_mode(priv, in lbs_execute_next_command()
1399 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1405 if ((priv->psstate == PS_STATE_SLEEP) || in lbs_execute_next_command()
1406 (priv->psstate == PS_STATE_PRE_SLEEP)) { in lbs_execute_next_command()
1409 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1410 priv->needtowakeup = 1; in lbs_execute_next_command()
1420 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_execute_next_command()
1422 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_execute_next_command()
1425 lbs_submit_command(priv, cmdnode); in lbs_execute_next_command()
1440 if ((priv->psmode != LBS802_11POWERMODECAM) && in lbs_execute_next_command()
1441 (priv->psstate == PS_STATE_FULL_POWER) && in lbs_execute_next_command()
1442 ((priv->connect_status == LBS_CONNECTED) || in lbs_execute_next_command()
1443 lbs_mesh_connected(priv))) { in lbs_execute_next_command()
1444 if (priv->secinfo.WPAenabled || in lbs_execute_next_command()
1445 priv->secinfo.WPA2enabled) { in lbs_execute_next_command()
1447 if (priv->wpa_mcast_key.len || in lbs_execute_next_command()
1448 priv->wpa_unicast_key.len) { in lbs_execute_next_command()
1452 lbs_set_ps_mode(priv, in lbs_execute_next_command()
1460 lbs_set_ps_mode(priv, PS_MODE_ACTION_ENTER_PS, in lbs_execute_next_command()
1473 static void lbs_send_confirmsleep(struct lbs_private *priv) in lbs_send_confirmsleep() argument
1482 ret = priv->hw_host_to_card(priv, MVMS_CMD, (u8 *) &confirm_sleep, in lbs_send_confirmsleep()
1485 netdev_alert(priv->dev, "confirm_sleep failed\n"); in lbs_send_confirmsleep()
1489 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_send_confirmsleep()
1492 priv->dnld_sent = DNLD_RES_RECEIVED; in lbs_send_confirmsleep()
1494 if (priv->is_host_sleep_configured) { in lbs_send_confirmsleep()
1495 priv->is_host_sleep_activated = 1; in lbs_send_confirmsleep()
1496 wake_up_interruptible(&priv->host_sleep_q); in lbs_send_confirmsleep()
1500 if (!kfifo_len(&priv->event_fifo) && !priv->resp_len[priv->resp_idx]) in lbs_send_confirmsleep()
1501 priv->psstate = PS_STATE_SLEEP; in lbs_send_confirmsleep()
1503 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_send_confirmsleep()
1517 void lbs_ps_confirm_sleep(struct lbs_private *priv) in lbs_ps_confirm_sleep() argument
1524 spin_lock_irqsave(&priv->driver_lock, flags); in lbs_ps_confirm_sleep()
1525 if (priv->dnld_sent) { in lbs_ps_confirm_sleep()
1531 if (priv->cur_cmd) { in lbs_ps_confirm_sleep()
1537 if (kfifo_len(&priv->event_fifo) || priv->resp_len[priv->resp_idx]) { in lbs_ps_confirm_sleep()
1541 spin_unlock_irqrestore(&priv->driver_lock, flags); in lbs_ps_confirm_sleep()
1545 lbs_send_confirmsleep(priv); in lbs_ps_confirm_sleep()
1566 int lbs_set_tpc_cfg(struct lbs_private *priv, int enable, int8_t p0, int8_t p1, in lbs_set_tpc_cfg() argument
1581 ret = lbs_cmd_with_response(priv, CMD_802_11_TPC_CFG, &cmd); in lbs_set_tpc_cfg()
1598 int lbs_set_power_adapt_cfg(struct lbs_private *priv, int enable, int8_t p0, in lbs_set_power_adapt_cfg() argument
1612 ret = lbs_cmd_with_response(priv, CMD_802_11_PA_CFG , &cmd); in lbs_set_power_adapt_cfg()
1618 struct cmd_ctrl_node *__lbs_cmd_async(struct lbs_private *priv, in __lbs_cmd_async() argument
1627 if (priv->surpriseremoved) { in __lbs_cmd_async()
1636 if (!priv->is_auto_deep_sleep_enabled) { in __lbs_cmd_async()
1637 if (priv->is_deep_sleep) { in __lbs_cmd_async()
1644 cmdnode = lbs_get_free_cmd_node(priv); in __lbs_cmd_async()
1649 wake_up(&priv->waitq); in __lbs_cmd_async()
1668 lbs_queue_cmd(priv, cmdnode); in __lbs_cmd_async()
1669 wake_up(&priv->waitq); in __lbs_cmd_async()
1676 void lbs_cmd_async(struct lbs_private *priv, uint16_t command, in lbs_cmd_async() argument
1680 __lbs_cmd_async(priv, command, in_cmd, in_cmd_size, in lbs_cmd_async()
1685 int __lbs_cmd(struct lbs_private *priv, uint16_t command, in __lbs_cmd() argument
1696 cmdnode = __lbs_cmd_async(priv, command, in_cmd, in_cmd_size, in __lbs_cmd()
1712 spin_lock_irqsave(&priv->driver_lock, flags); in __lbs_cmd()
1715 netdev_info(priv->dev, "PREP_CMD: command 0x%04x failed: %d\n", in __lbs_cmd()
1718 __lbs_cleanup_and_insert_cmd(priv, cmdnode); in __lbs_cmd()
1719 spin_unlock_irqrestore(&priv->driver_lock, flags); in __lbs_cmd()