fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / firmware / edd.c
index 33b669e..5c261e1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * linux/arch/i386/kernel/edd.c
+ * linux/drivers/firmware/edd.c
  *  Copyright (C) 2002, 2003, 2004 Dell Inc.
  *  by Matt Domsch <Matt_Domsch@dell.com>
  *  disk signature by Matt Domsch, Andrew Wilks, and Sandeep K. Shandilya
@@ -115,7 +115,7 @@ edd_attr_show(struct kobject * kobj, struct attribute *attr, char *buf)
 {
        struct edd_device *dev = to_edd_device(kobj);
        struct edd_attribute *edd_attr = to_edd_attr(attr);
-       ssize_t ret = 0;
+       ssize_t ret = -EIO;
 
        if (edd_attr->show)
                ret = edd_attr->show(dev, buf);
@@ -715,7 +715,6 @@ edd_device_register(struct edd_device *edev, int i)
 
        if (!edev)
                return 1;
-       memset(edev, 0, sizeof (*edev));
        edd_dev_set_info(edev, i);
        kobject_set_name(&edev->kobj, "int13_dev%02x",
                         0x80 + i);
@@ -756,7 +755,7 @@ edd_init(void)
                return rc;
 
        for (i = 0; i < edd_num_devices() && !rc; i++) {
-               edev = kmalloc(sizeof (*edev), GFP_KERNEL);
+               edev = kzalloc(sizeof (*edev), GFP_KERNEL);
                if (!edev)
                        return -ENOMEM;