mana_dev_recovery_work
spin_lock_irqsave(&mana_dev_recovery_work.lock, flags);
list_add_tail(&dev->list, &mana_dev_recovery_work.dev_list);
spin_unlock_irqrestore(&mana_dev_recovery_work.lock, flags);
schedule_delayed_work(&mana_dev_recovery_work.work,
INIT_LIST_HEAD(&mana_dev_recovery_work.dev_list);
spin_lock_init(&mana_dev_recovery_work.lock);
INIT_DELAYED_WORK(&mana_dev_recovery_work.work, mana_recovery_delayed_func);
disable_delayed_work_sync(&mana_dev_recovery_work.work);
spin_lock_irqsave(&mana_dev_recovery_work.lock, flags);
while (!list_empty(&mana_dev_recovery_work.dev_list)) {
dev = list_first_entry(&mana_dev_recovery_work.dev_list,
spin_unlock_irqrestore(&mana_dev_recovery_work.lock, flags);
} mana_dev_recovery_work;
struct mana_dev_recovery_work *work;
work = container_of(w, struct mana_dev_recovery_work, work.work);