async_completed
static atomic_t warnings, errors, timeout, async_completed;
if (atomic_read(&async_completed) != async_id) {
atomic_inc(&async_completed);
INIT_LIST_HEAD(&ps->async_completed);
as->urb->complete = async_completed;
if (file->f_mode & FMODE_WRITE && !list_empty(&ps->async_completed))
if (!list_empty(&ps->async_completed)) {
as = list_entry(ps->async_completed.next, struct async,
list_move_tail(&as->asynclist, &ps->async_completed);
struct list_head async_completed;