diff options
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r-- | mm/backing-dev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index f2e574dbc300..a7c6c5613ec9 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
@@ -176,6 +176,9 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent, | |||
176 | int ret = 0; | 176 | int ret = 0; |
177 | struct device *dev; | 177 | struct device *dev; |
178 | 178 | ||
179 | if (bdi->dev) /* The driver needs to use separate queues per device */ | ||
180 | goto exit; | ||
181 | |||
179 | va_start(args, fmt); | 182 | va_start(args, fmt); |
180 | dev = device_create_vargs(bdi_class, parent, MKDEV(0, 0), bdi, fmt, args); | 183 | dev = device_create_vargs(bdi_class, parent, MKDEV(0, 0), bdi, fmt, args); |
181 | va_end(args); | 184 | va_end(args); |
@@ -220,7 +223,7 @@ int bdi_init(struct backing_dev_info *bdi) | |||
220 | bdi->max_prop_frac = PROP_FRAC_BASE; | 223 | bdi->max_prop_frac = PROP_FRAC_BASE; |
221 | 224 | ||
222 | for (i = 0; i < NR_BDI_STAT_ITEMS; i++) { | 225 | for (i = 0; i < NR_BDI_STAT_ITEMS; i++) { |
223 | err = percpu_counter_init_irq(&bdi->bdi_stat[i], 0); | 226 | err = percpu_counter_init(&bdi->bdi_stat[i], 0); |
224 | if (err) | 227 | if (err) |
225 | goto err; | 228 | goto err; |
226 | } | 229 | } |