Lines Matching refs:cmdnode
941 struct cmd_ctrl_node *cmdnode) in lbs_queue_cmd() argument
948 if (!cmdnode) { in lbs_queue_cmd()
952 if (!cmdnode->cmdbuf->size) { in lbs_queue_cmd()
956 cmdnode->result = 0; in lbs_queue_cmd()
959 if (le16_to_cpu(cmdnode->cmdbuf->command) == CMD_802_11_PS_MODE) { in lbs_queue_cmd()
960 struct cmd_ds_802_11_ps_mode *psm = (void *) &cmdnode->cmdbuf; in lbs_queue_cmd()
968 if (le16_to_cpu(cmdnode->cmdbuf->command) == CMD_802_11_WAKEUP_CONFIRM) 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()
981 le16_to_cpu(cmdnode->cmdbuf->command)); in lbs_queue_cmd()
988 struct cmd_ctrl_node *cmdnode) in lbs_submit_command() argument
999 cmd = cmdnode->cmdbuf; in lbs_submit_command()
1004 priv->cur_cmd = cmdnode; in lbs_submit_command()
1016 lbs_deb_hex(LBS_DEB_CMD, "DNLD_CMD", (void *) cmdnode->cmdbuf, cmdsize); in lbs_submit_command()
1025 lbs_complete_command(priv, cmdnode, ret); in lbs_submit_command()
1034 lbs_complete_command(priv, cmdnode, 0); in lbs_submit_command()
1048 struct cmd_ctrl_node *cmdnode) in __lbs_cleanup_and_insert_cmd() argument
1052 if (!cmdnode) in __lbs_cleanup_and_insert_cmd()
1055 cmdnode->callback = NULL; in __lbs_cleanup_and_insert_cmd()
1056 cmdnode->callback_arg = 0; in __lbs_cleanup_and_insert_cmd()
1058 memset(cmdnode->cmdbuf, 0, LBS_CMD_BUFFER_SIZE); in __lbs_cleanup_and_insert_cmd()
1060 list_add_tail(&cmdnode->list, &priv->cmdfreeq); in __lbs_cleanup_and_insert_cmd()
1313 struct cmd_ctrl_node *cmdnode = NULL; in lbs_execute_next_command() local
1334 cmdnode = list_first_entry(&priv->cmdpendingq, in lbs_execute_next_command()
1340 if (cmdnode) { in lbs_execute_next_command()
1341 cmd = cmdnode->cmdbuf; in lbs_execute_next_command()
1399 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1409 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1421 list_del_init(&cmdnode->list); in lbs_execute_next_command()
1425 lbs_submit_command(priv, cmdnode); in lbs_execute_next_command()
1623 struct cmd_ctrl_node *cmdnode; in __lbs_cmd_async() local
1629 cmdnode = ERR_PTR(-ENOENT); in __lbs_cmd_async()
1639 cmdnode = ERR_PTR(-EBUSY); in __lbs_cmd_async()
1644 cmdnode = lbs_get_free_cmd_node(priv); in __lbs_cmd_async()
1645 if (cmdnode == NULL) { in __lbs_cmd_async()
1650 cmdnode = ERR_PTR(-ENOBUFS); in __lbs_cmd_async()
1654 cmdnode->callback = callback; in __lbs_cmd_async()
1655 cmdnode->callback_arg = callback_arg; in __lbs_cmd_async()
1658 memcpy(cmdnode->cmdbuf, in_cmd, in_cmd_size); in __lbs_cmd_async()
1661 cmdnode->cmdbuf->command = cpu_to_le16(command); in __lbs_cmd_async()
1662 cmdnode->cmdbuf->size = cpu_to_le16(in_cmd_size); in __lbs_cmd_async()
1663 cmdnode->cmdbuf->result = 0; in __lbs_cmd_async()
1667 cmdnode->cmdwaitqwoken = 0; in __lbs_cmd_async()
1668 lbs_queue_cmd(priv, cmdnode); in __lbs_cmd_async()
1672 lbs_deb_leave_args(LBS_DEB_HOST, "ret %p", cmdnode); in __lbs_cmd_async()
1673 return cmdnode; in __lbs_cmd_async()
1690 struct cmd_ctrl_node *cmdnode; in __lbs_cmd() local
1696 cmdnode = __lbs_cmd_async(priv, command, in_cmd, in_cmd_size, in __lbs_cmd()
1698 if (IS_ERR(cmdnode)) { in __lbs_cmd()
1699 ret = PTR_ERR(cmdnode); in __lbs_cmd()
1710 wait_event(cmdnode->cmdwait_q, cmdnode->cmdwaitqwoken); in __lbs_cmd()
1713 ret = cmdnode->result; in __lbs_cmd()
1718 __lbs_cleanup_and_insert_cmd(priv, cmdnode); in __lbs_cmd()