return error;
rcu_assign_pointer(evdev->grab, client);
- synchronize_rcu();
return 0;
}
spin_lock(&evdev->client_lock);
list_add_tail_rcu(&client->node, &evdev->client_list);
spin_unlock(&evdev->client_lock);
- synchronize_rcu();
}
static void evdev_detach_client(struct evdev *evdev,