diff --git a/mm/backing-dev.c b/mm/backing-dev.c index e5e0972bdd6f9a78e22fe09989dc9cd7a82e09cd..164ccc93690f0c376b5c042af6715d882f1c7dd5 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -961,6 +961,8 @@ static void release_bdi(struct kref *ref) struct backing_dev_info *bdi = container_of(ref, struct backing_dev_info, refcnt); + if (test_bit(WB_registered, &bdi->wb.state)) + bdi_unregister(bdi); bdi_exit(bdi); kfree(bdi); }