Lines Matching refs:cmd
117 struct digital_cmd *cmd; in digital_wq_cmd_complete() local
124 cmd = list_first_entry_or_null(&ddev->cmd_queue, struct digital_cmd, in digital_wq_cmd_complete()
126 if (!cmd) { in digital_wq_cmd_complete()
131 list_del(&cmd->queue); in digital_wq_cmd_complete()
135 if (!IS_ERR(cmd->resp)) in digital_wq_cmd_complete()
137 cmd->resp->data, cmd->resp->len, false); in digital_wq_cmd_complete()
139 cmd->cmd_cb(ddev, cmd->cb_context, cmd->resp); in digital_wq_cmd_complete()
141 kfree(cmd->mdaa_params); in digital_wq_cmd_complete()
142 kfree(cmd); in digital_wq_cmd_complete()
150 struct digital_cmd *cmd = arg; in digital_send_cmd_complete() local
152 cmd->resp = resp; in digital_send_cmd_complete()
160 struct digital_cmd *cmd; in digital_wq_cmd() local
168 cmd = list_first_entry_or_null(&ddev->cmd_queue, struct digital_cmd, in digital_wq_cmd()
170 if (!cmd || cmd->pending) { in digital_wq_cmd()
177 if (cmd->req) in digital_wq_cmd()
179 cmd->req->data, cmd->req->len, false); in digital_wq_cmd()
181 switch (cmd->type) { in digital_wq_cmd()
183 rc = ddev->ops->in_send_cmd(ddev, cmd->req, cmd->timeout, in digital_wq_cmd()
184 digital_send_cmd_complete, cmd); in digital_wq_cmd()
188 rc = ddev->ops->tg_send_cmd(ddev, cmd->req, cmd->timeout, in digital_wq_cmd()
189 digital_send_cmd_complete, cmd); in digital_wq_cmd()
193 rc = ddev->ops->tg_listen(ddev, cmd->timeout, in digital_wq_cmd()
194 digital_send_cmd_complete, cmd); in digital_wq_cmd()
198 params = cmd->mdaa_params; in digital_wq_cmd()
200 rc = ddev->ops->tg_listen_mdaa(ddev, params, cmd->timeout, in digital_wq_cmd()
201 digital_send_cmd_complete, cmd); in digital_wq_cmd()
205 rc = ddev->ops->tg_listen_md(ddev, cmd->timeout, in digital_wq_cmd()
206 digital_send_cmd_complete, cmd); in digital_wq_cmd()
210 pr_err("Unknown cmd type %d\n", cmd->type); in digital_wq_cmd()
220 list_del(&cmd->queue); in digital_wq_cmd()
223 kfree_skb(cmd->req); in digital_wq_cmd()
224 kfree(cmd->mdaa_params); in digital_wq_cmd()
225 kfree(cmd); in digital_wq_cmd()
235 struct digital_cmd *cmd; in digital_send_cmd() local
237 cmd = kzalloc(sizeof(struct digital_cmd), GFP_KERNEL); in digital_send_cmd()
238 if (!cmd) in digital_send_cmd()
241 cmd->type = cmd_type; in digital_send_cmd()
242 cmd->timeout = timeout; in digital_send_cmd()
243 cmd->req = skb; in digital_send_cmd()
244 cmd->mdaa_params = params; in digital_send_cmd()
245 cmd->cmd_cb = cmd_cb; in digital_send_cmd()
246 cmd->cb_context = cb_context; in digital_send_cmd()
247 INIT_LIST_HEAD(&cmd->queue); in digital_send_cmd()
250 list_add_tail(&cmd->queue, &ddev->cmd_queue); in digital_send_cmd()
831 struct digital_cmd *cmd, *n; in nfc_digital_unregister_device() local
843 list_for_each_entry_safe(cmd, n, &ddev->cmd_queue, queue) { in nfc_digital_unregister_device()
844 list_del(&cmd->queue); in nfc_digital_unregister_device()
845 kfree(cmd->mdaa_params); in nfc_digital_unregister_device()
846 kfree(cmd); in nfc_digital_unregister_device()