Lines Matching refs:iface

228 	struct interface *iface = (struct interface *)p;
232 mutex_lock(&iface->sock_release_lock);
233 if (!iface->ksmbd_socket) {
234 mutex_unlock(&iface->sock_release_lock);
237 ret = kernel_accept(iface->ksmbd_socket, &client_sk,
239 mutex_unlock(&iface->sock_release_lock);
269 * @iface: pointer to struct interface
277 static int ksmbd_tcp_run_kthread(struct interface *iface)
282 kthread = kthread_run(ksmbd_kthread_fn, (void *)iface, "ksmbd-%s",
283 iface->name);
288 iface->ksmbd_kthread = kthread;
420 * @iface: interface to bind the created socket to
424 static int create_socket(struct interface *iface)
463 KERNEL_SOCKPTR(iface->name),
464 strlen(iface->name));
490 iface->ksmbd_socket = ksmbd_socket;
491 ret = ksmbd_tcp_run_kthread(iface);
496 iface->state = IFACE_STATE_CONFIGURED;
503 iface->ksmbd_socket = NULL;
511 struct interface *iface;
519 list_for_each_entry(iface, &iface_list, entry) {
520 if (!strcmp(iface->name, netdev->name)) {
522 if (iface->state != IFACE_STATE_DOWN)
524 ret = create_socket(iface);
531 iface = alloc_iface(kstrdup(netdev->name, GFP_KERNEL));
532 if (!iface)
534 ret = create_socket(iface);
540 list_for_each_entry(iface, &iface_list, entry) {
541 if (!strcmp(iface->name, netdev->name) &&
542 iface->state == IFACE_STATE_CONFIGURED) {
543 tcp_stop_kthread(iface->ksmbd_kthread);
544 iface->ksmbd_kthread = NULL;
545 mutex_lock(&iface->sock_release_lock);
546 tcp_destroy_socket(iface->ksmbd_socket);
547 iface->ksmbd_socket = NULL;
548 mutex_unlock(&iface->sock_release_lock);
550 iface->state = IFACE_STATE_DOWN;
585 struct interface *iface, *tmp;
589 list_for_each_entry_safe(iface, tmp, &iface_list, entry) {
590 list_del(&iface->entry);
591 kfree(iface->name);
592 kfree(iface);
598 struct interface *iface;
603 iface = kzalloc(sizeof(struct interface), GFP_KERNEL);
604 if (!iface) {
609 iface->name = ifname;
610 iface->state = IFACE_STATE_DOWN;
611 list_add(&iface->entry, &iface_list);
612 mutex_init(&iface->sock_release_lock);
613 return iface;