]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - block/genhd.c
Merge remote-tracking branch 'block/for-next'
[karo-tx-linux.git] / block / genhd.c
index 633751dbb9a9ff01dd85a0ca2c468f22ce339043..8f29a0b9032e37eb83d61cbd4f4c9585591ab2b6 100644 (file)
@@ -1490,9 +1490,9 @@ static void __disk_unblock_events(struct gendisk *disk, bool check_now)
        intv = disk_events_poll_jiffies(disk);
        set_timer_slack(&ev->dwork.timer, intv / 4);
        if (check_now)
-               queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0);
+               queue_delayed_work(system_freezable_wq, &ev->dwork, 0);
        else if (intv)
-               queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, intv);
+               queue_delayed_work(system_freezable_wq, &ev->dwork, intv);
 out_unlock:
        spin_unlock_irqrestore(&ev->lock, flags);
 }
@@ -1534,10 +1534,8 @@ void disk_flush_events(struct gendisk *disk, unsigned int mask)
 
        spin_lock_irq(&ev->lock);
        ev->clearing |= mask;
-       if (!ev->block) {
-               cancel_delayed_work(&ev->dwork);
-               queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0);
-       }
+       if (!ev->block)
+               mod_delayed_work(system_freezable_wq, &ev->dwork, 0);
        spin_unlock_irq(&ev->lock);
 }
 
@@ -1573,7 +1571,7 @@ unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask)
 
        /* uncondtionally schedule event check and wait for it to finish */
        disk_block_events(disk);
-       queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, 0);
+       queue_delayed_work(system_freezable_wq, &ev->dwork, 0);
        flush_delayed_work(&ev->dwork);
        __disk_unblock_events(disk, false);
 
@@ -1610,7 +1608,7 @@ static void disk_events_workfn(struct work_struct *work)
 
        intv = disk_events_poll_jiffies(disk);
        if (!ev->block && intv)
-               queue_delayed_work(system_nrt_freezable_wq, &ev->dwork, intv);
+               queue_delayed_work(system_freezable_wq, &ev->dwork, intv);
 
        spin_unlock_irq(&ev->lock);