https://bugzilla.novell.com/show_bug.cgi?id=745380 https://bugzilla.novell.com/show_bug.cgi?id=745380#c5 --- Comment #5 from Oliver Neukum <oneukum@suse.com> 2012-03-16 10:46:18 UTC --- (In reply to comment #3)
If I had to guess, I'd say workqueues are already frozen so that will never return.
This workqueue isn't freezable in 3.1 unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask) { const struct block_device_operations *bdops = disk->fops; struct disk_events *ev = disk->ev; unsigned int pending; if (!ev) { /* for drivers still using the old ->media_changed method */ if ((mask & DISK_EVENT_MEDIA_CHANGE) && bdops->media_changed && bdops->media_changed(disk)) return DISK_EVENT_MEDIA_CHANGE; return 0; } /* tell the workfn about the events being cleared */ spin_lock_irq(&ev->lock); ev->clearing |= mask; spin_unlock_irq(&ev->lock); /* uncondtionally schedule event check and wait for it to finish */ disk_block_events(disk); queue_delayed_work(system_nrt_wq, &ev->dwork, 0); flush_delayed_work(&ev->dwork); __disk_unblock_events(disk, false); /* then, fetch and clear pending events */ spin_lock_irq(&ev->lock); WARN_ON_ONCE(ev->clearing & mask); /* cleared by workfn */ pending = ev->pending & mask; ev->pending &= ~mask; spin_unlock_irq(&ev->lock); return pending; } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.