提交 42ddfd68 编写于 作者: J Jeff Garzik 提交者: Linus Torvalds

[PATCH] EISA: handle sysfs errors

Signed-off-by: NJeff Garzik <jeff@garzik.org>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 5e59393e
...@@ -226,14 +226,26 @@ static int __init eisa_init_device (struct eisa_root_device *root, ...@@ -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) static int __init eisa_register_device (struct eisa_device *edev)
{ {
if (device_register (&edev->dev)) int rc = device_register (&edev->dev);
return -1; if (rc)
return rc;
device_create_file (&edev->dev, &dev_attr_signature); rc = device_create_file (&edev->dev, &dev_attr_signature);
device_create_file (&edev->dev, &dev_attr_enabled); if (rc) goto err_devreg;
device_create_file (&edev->dev, &dev_attr_modalias); 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; 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, static int __init eisa_request_resources (struct eisa_root_device *root,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册