diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-20 17:20:23 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-20 17:20:23 -0700 |
commit | 57312b75aa06b09c28acd9c5a9c70827da3696d2 (patch) | |
tree | c35b230739f4b9a8e50b1651854ad830ca2b9fdf /mm/backing-dev.c | |
parent | 1b5e2a7e23439c13f73cacab1cf227f30cb9ae9f (diff) | |
parent | 24b42566c3fcbb5a9011d1446783d0f5844ccd45 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
SCSI: fix race in device_create
USB: Core: fix race in device_create
USB: Phidget: fix race in device_create
s390: fix race in device_create
SOUND: fix race in device_create
UIO: fix race in device_create
Power Supply: fix race in device_create
LEDS: fix race in device_create
IB: fix race in device_create
ide: fix race in device_create
fbdev: fix race in device_create
mm: bdi: fix race in bdi_class device creation
Driver core: add device_create_vargs and device_create_drvdata
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r-- | mm/backing-dev.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 7c4f9e09709..f2e574dbc30 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -172,30 +172,22 @@ postcore_initcall(bdi_class_init); int bdi_register(struct backing_dev_info *bdi, struct device *parent, const char *fmt, ...) { - char *name; va_list args; int ret = 0; struct device *dev; va_start(args, fmt); - name = kvasprintf(GFP_KERNEL, fmt, args); + dev = device_create_vargs(bdi_class, parent, MKDEV(0, 0), bdi, fmt, args); va_end(args); - - if (!name) - return -ENOMEM; - - dev = device_create(bdi_class, parent, MKDEV(0, 0), name); if (IS_ERR(dev)) { ret = PTR_ERR(dev); goto exit; } bdi->dev = dev; - dev_set_drvdata(bdi->dev, bdi); - bdi_debug_register(bdi, name); + bdi_debug_register(bdi, dev_name(dev)); exit: - kfree(name); return ret; } EXPORT_SYMBOL(bdi_register); |