Lines Matching refs:cmdnode
890 struct cmd_ctrl_node *cmdnode) in lbs_queue_cmd() argument
895 if (!cmdnode) { in lbs_queue_cmd()
899 if (!cmdnode->cmdbuf->size) { in lbs_queue_cmd()
903 cmdnode->result = 0; in lbs_queue_cmd()
906 if (le16_to_cpu(cmdnode->cmdbuf->command) == CMD_802_11_PS_MODE) { in lbs_queue_cmd()
907 struct cmd_ds_802_11_ps_mode *psm = (void *)cmdnode->cmdbuf; in lbs_queue_cmd()
915 if (le16_to_cpu(cmdnode->cmdbuf->command) == CMD_802_11_WAKEUP_CONFIRM) in lbs_queue_cmd()
921 list_add_tail(&cmdnode->list, &priv->cmdpendingq); in lbs_queue_cmd()
923 list_add(&cmdnode->list, &priv->cmdpendingq); in lbs_queue_cmd()
928 le16_to_cpu(cmdnode->cmdbuf->command)); in lbs_queue_cmd()
932 struct cmd_ctrl_node *cmdnode) in lbs_submit_command() argument
941 cmd = cmdnode->cmdbuf; in lbs_submit_command()
946 priv->cur_cmd = cmdnode; in lbs_submit_command()
958 lbs_deb_hex(LBS_DEB_CMD, "DNLD_CMD", (void *) cmdnode->cmdbuf, cmdsize); in lbs_submit_command()
967 lbs_complete_command(priv, cmdnode, ret); in lbs_submit_command()
976 lbs_complete_command(priv, cmdnode, 0); in lbs_submit_command()
988 struct cmd_ctrl_node *cmdnode) in __lbs_cleanup_and_insert_cmd() argument
990 if (!cmdnode) in __lbs_cleanup_and_insert_cmd()
993 cmdnode->callback = NULL; in __lbs_cleanup_and_insert_cmd()
994 cmdnode->callback_arg = 0; in __lbs_cleanup_and_insert_cmd()
996 memset(cmdnode->cmdbuf, 0, LBS_CMD_BUFFER_SIZE); in __lbs_cleanup_and_insert_cmd()
998 list_add_tail(&cmdnode->list, &priv->cmdfreeq); in __lbs_cleanup_and_insert_cmd()
1230 struct cmd_ctrl_node *cmdnode = NULL; in lbs_execute_next_command() local
1249 cmdnode = list_first_entry(&priv->cmdpendingq, in lbs_execute_next_command()
1255 if (cmdnode) { in lbs_execute_next_command()
1256 cmd = cmdnode->cmdbuf; in lbs_execute_next_command()
1314 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1324 lbs_complete_command(priv, cmdnode, 0); in lbs_execute_next_command()
1336 list_del_init(&cmdnode->list); in lbs_execute_next_command()
1340 lbs_submit_command(priv, cmdnode); in lbs_execute_next_command()
1503 struct cmd_ctrl_node *cmdnode; in __lbs_cmd_async() local
1507 cmdnode = ERR_PTR(-ENOENT); in __lbs_cmd_async()
1517 cmdnode = ERR_PTR(-EBUSY); in __lbs_cmd_async()
1522 cmdnode = lbs_get_free_cmd_node(priv); in __lbs_cmd_async()
1523 if (cmdnode == NULL) { in __lbs_cmd_async()
1528 cmdnode = ERR_PTR(-ENOBUFS); in __lbs_cmd_async()
1532 cmdnode->callback = callback; in __lbs_cmd_async()
1533 cmdnode->callback_arg = callback_arg; in __lbs_cmd_async()
1536 memcpy(cmdnode->cmdbuf, in_cmd, in_cmd_size); in __lbs_cmd_async()
1539 cmdnode->cmdbuf->command = cpu_to_le16(command); in __lbs_cmd_async()
1540 cmdnode->cmdbuf->size = cpu_to_le16(in_cmd_size); in __lbs_cmd_async()
1541 cmdnode->cmdbuf->result = 0; in __lbs_cmd_async()
1545 cmdnode->cmdwaitqwoken = 0; in __lbs_cmd_async()
1546 lbs_queue_cmd(priv, cmdnode); in __lbs_cmd_async()
1550 return cmdnode; in __lbs_cmd_async()
1565 struct cmd_ctrl_node *cmdnode; in __lbs_cmd() local
1569 cmdnode = __lbs_cmd_async(priv, command, in_cmd, in_cmd_size, in __lbs_cmd()
1571 if (IS_ERR(cmdnode)) { in __lbs_cmd()
1572 ret = PTR_ERR(cmdnode); in __lbs_cmd()
1583 wait_event(cmdnode->cmdwait_q, cmdnode->cmdwaitqwoken); in __lbs_cmd()
1586 ret = cmdnode->result; in __lbs_cmd()
1591 __lbs_cleanup_and_insert_cmd(priv, cmdnode); in __lbs_cmd()