> Quoting r. Woodruff, Robert J <[EMAIL PROTECTED]>:
> Subject: Re: [openfabrics-ewg] new OFED 1.2 package
> 
> I am also still seeing the issue with the rdma_cm abi_version on RedHat
> EL4-U3,
> bug number, 347. The bug report contains the patch that should fix this.

OK, here's a somewhat cleaned-up patch.  However, I have a question: should not 
the
module cleanup function remove ucma_class and class_attr_abi_version that were
created at module initialization?

----

diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
index e2e8d32..e9e024e 100644
--- a/drivers/infiniband/core/ucma.c
+++ b/drivers/infiniband/core/ucma.c
@@ -847,13 +847,12 @@ static struct miscdevice ucma_misc = {
        .fops   = &ucma_fops,
 };
 
-static ssize_t show_abi_version(struct device *dev,
-                               struct device_attribute *attr,
-                               char *buf)
+static struct class *ucma_class;
+static ssize_t show_abi_version(struct class *class_dev, char *buf)
 {
        return sprintf(buf, "%d\n", RDMA_USER_CM_ABI_VERSION);
 }
-static DEVICE_ATTR(abi_version, S_IRUGO, show_abi_version, NULL);
+static CLASS_ATTR(abi_version, S_IRUGO, show_abi_version, NULL);
 
 static int __init ucma_init(void)
 {
@@ -863,7 +862,13 @@ static int __init ucma_init(void)
        if (ret)
                return ret;
 
-       ret = device_create_file(ucma_misc.this_device, &dev_attr_abi_version);
+       ucma_class = class_create(THIS_MODULE, "infiniband_ucma");
+       if (IS_ERR(ucma_class)) {
+               printk(KERN_ERR "rdma_ucm: couldn't create class 
infiniband_ucma\n");
+               goto err;
+       }
+
+       ret = class_create_file(ucma_class, &class_attr_abi_version);
        if (ret) {
                printk(KERN_ERR "rdma_ucm: couldn't create abi_version attr\n");
                goto err;
@@ -876,7 +881,6 @@ err:
 
 static void __exit ucma_cleanup(void)
 {
-       device_remove_file(ucma_misc.this_device, &dev_attr_abi_version);
        misc_deregister(&ucma_misc);
        idr_destroy(&ctx_idr);
 }


-- 
MST

_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to