From 2d58070c22192aa43acf668c0fd9ee2d37e3d5eb Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Wed, 11 Oct 2006 01:22:22 -0700 Subject: [PATCH] --- yaml --- r: 39371 b: refs/heads/master c: 42ddfd6859b9d57490c94d26e29a43ffd78366e5 h: refs/heads/master i: 39369: b7660d57e0074c162497913da495838f7a6b3be2 39367: 27b5574d9c6aa15b4da7718232cb6bfca3475005 v: v3 --- [refs] | 2 +- trunk/drivers/eisa/eisa-bus.c | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 2fd930d7b22f..6a77ec0d0abd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e59393ec242d7b772356c95e2be48384cd0c5d7 +refs/heads/master: 42ddfd6859b9d57490c94d26e29a43ffd78366e5 diff --git a/trunk/drivers/eisa/eisa-bus.c b/trunk/drivers/eisa/eisa-bus.c index 3a365e159d89..d944647c82c2 100644 --- a/trunk/drivers/eisa/eisa-bus.c +++ b/trunk/drivers/eisa/eisa-bus.c @@ -226,14 +226,26 @@ static int __init eisa_init_device (struct eisa_root_device *root, static int __init eisa_register_device (struct eisa_device *edev) { - if (device_register (&edev->dev)) - return -1; + int rc = device_register (&edev->dev); + if (rc) + return rc; - device_create_file (&edev->dev, &dev_attr_signature); - device_create_file (&edev->dev, &dev_attr_enabled); - device_create_file (&edev->dev, &dev_attr_modalias); + rc = device_create_file (&edev->dev, &dev_attr_signature); + if (rc) goto err_devreg; + rc = device_create_file (&edev->dev, &dev_attr_enabled); + if (rc) goto err_sig; + rc = device_create_file (&edev->dev, &dev_attr_modalias); + if (rc) goto err_enab; return 0; + +err_enab: + device_remove_file (&edev->dev, &dev_attr_enabled); +err_sig: + device_remove_file (&edev->dev, &dev_attr_signature); +err_devreg: + device_unregister(&edev->dev); + return rc; } static int __init eisa_request_resources (struct eisa_root_device *root,