Lines Matching refs:mesh_tx
319 void (*cb)(struct mgmt_mesh_tx *mesh_tx, void *data),
322 struct mgmt_mesh_tx *mesh_tx, *tmp;
324 list_for_each_entry_safe(mesh_tx, tmp, &hdev->mgmt_pending, list) {
325 if (!sk || mesh_tx->sk == sk)
326 cb(mesh_tx, data);
332 struct mgmt_mesh_tx *mesh_tx;
337 list_for_each_entry(mesh_tx, &hdev->mesh_pending, list) {
338 if (!sk || mesh_tx->sk == sk)
339 return mesh_tx;
347 struct mgmt_mesh_tx *mesh_tx;
352 list_for_each_entry(mesh_tx, &hdev->mesh_pending, list) {
353 if (mesh_tx->handle == handle)
354 return mesh_tx;
363 struct mgmt_mesh_tx *mesh_tx;
365 mesh_tx = kzalloc(sizeof(*mesh_tx), GFP_KERNEL);
366 if (!mesh_tx)
373 mesh_tx->handle = hdev->mesh_send_ref;
374 mesh_tx->index = hdev->id;
375 memcpy(mesh_tx->param, data, len);
376 mesh_tx->param_len = len;
377 mesh_tx->sk = sk;
380 list_add_tail(&mesh_tx->list, &hdev->mesh_pending);
382 return mesh_tx;
385 void mgmt_mesh_remove(struct mgmt_mesh_tx *mesh_tx)
387 list_del(&mesh_tx->list);
388 sock_put(mesh_tx->sk);
389 kfree(mesh_tx);