diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-11-29 14:50:17 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-11-29 14:50:17 +0000 |
commit | 98014be39bda8277a5ad130bb274ed6eb18b74df (patch) | |
tree | 974620a47c9350ff9b3c06ffd2b49470bbda72ab /mm/backing-dev.c | |
parent | 55135dfbf3dd83cb3e98deed8271b62d188404e1 (diff) | |
parent | 6e2a587eb99267367409097b70cb2d61b09e5269 (diff) |
Merge branch 'defconfigs-for-arnd' of git://git.linaro.org/people/triad/linux-stericsson into fixes
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 a0860640378..71034f41a2b 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]); |