diff options
| author | David S. Miller <davem@davemloft.net> | 2011-11-21 13:50:33 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-11-21 13:50:33 -0500 |
| commit | efd0bf97deeddd9ba53daabfc470a1399c6b0b2d (patch) | |
| tree | eec56da5fbc796bac7c67f1990a18f5e0a304059 /mm/backing-dev.c | |
| parent | f8a15af093b19b86d56933c8757cee298d0f32a8 (diff) | |
| parent | 6fe4c6d466e95d31164f14b1ac4aefb51f0f4f82 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The forcedeth changes had a conflict with the conversion over
to atomic u64 statistics in net-next.
The libertas cfg.c code had a conflict with the bss reference
counting fix by John Linville in net-next.
Conflicts:
drivers/net/ethernet/nvidia/forcedeth.c
drivers/net/wireless/libertas/cfg.c
Diffstat (limited to 'mm/backing-dev.c')
| -rw-r--r-- | mm/backing-dev.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index a0860640378d..71034f41a2ba 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -724,6 +724,14 @@ void bdi_destroy(struct backing_dev_info *bdi) bdi_unregister(bdi); + /* + * If bdi_unregister() had already been called earlier, the + * wakeup_timer could still be armed because bdi_prune_sb() + * can race with the bdi_wakeup_thread_delayed() calls from + * __mark_inode_dirty(). + */ + del_timer_sync(&bdi->wb.wakeup_timer); + for (i = 0; i < NR_BDI_STAT_ITEMS; i++) percpu_counter_destroy(&bdi->bdi_stat[i]); |
