Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=264a0472183ce7ad05eea3360f5907880a1e5e78 Commit: 264a0472183ce7ad05eea3360f5907880a1e5e78 Parent: 5309cb38de65eddd5f7e125da750accf949f29e8 Author: Jens Axboe <[EMAIL PROTECTED]> AuthorDate: Tue Jan 23 16:30:17 2007 +0100 Committer: Jens Axboe <[EMAIL PROTECTED]> CommitDate: Mon Jul 16 08:52:45 2007 +0200
bsg: add cheasy error checks for sysfs stuff Signed-off-by: Jens Axboe <[EMAIL PROTECTED]> --- block/bsg.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/block/bsg.c b/block/bsg.c index c56618a..e97e3ec 100644 --- a/block/bsg.c +++ b/block/bsg.c @@ -983,10 +983,19 @@ int bsg_register_disk(struct gendisk *disk) bsg_device_nr++; bcd->disk = disk; bcd->class_dev = class_device_create(bsg_class, NULL, dev, bcd->dev, "%s", disk->disk_name); + if (!bcd->class_dev) + goto err; list_add_tail(&bcd->list, &bsg_class_list); - sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg"); + if (sysfs_create_link(&q->kobj, &bcd->class_dev->kobj, "bsg")) + goto err; mutex_unlock(&bsg_mutex); return 0; +err: + bsg_device_nr--; + if (bcd->class_dev) + class_device_destroy(bsg_class, MKDEV(BSG_MAJOR, bcd->minor)); + mutex_unlock(&bsg_mutex); + return -ENOMEM; } static int __init bsg_init(void) - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html