Your mailer garbled this patch. Can you please email me this as an attachment, or make sure your email client doesn't do line wrapping?
Thanks, Steve. On Fri, 2007-01-19 at 11:06 -0800, Woodruff, Robert J wrote: > Steve wrote, > >Sean, > > >I'm testing the latest ofed_1_2 code on RHEL4U4 and SLES9SP3. After > >loading the rdma_ucm module, there isn't a abi_version file installed > >in /sys/class/misc/rdma_cm. There is no error logged from the ucma so > I > >_think_ it created the file ok in ucma_init(). > > >Have you seen this? > > I ran into the same problem when backporting Sean's latest > multicast+sa_cache > branches to EL4. > > This backport patch can be applied to sean's latest code to > allow it to work on EL4. > I also had to make other fixes to get Sean latest code base to work on > EL4 > My complete backport patch set is located in my directory on the open > fabrics > server under, > /home/woody/ofa_patches_and_backports/trunk/kernel/backports/EL4-U4 > > > diff -Naurp linux-2.6.9/drivers/infiniband/core/ucma.c > linux-2.6.9-openib-drivers-git011107-fixups/drivers/infiniband/core/ucma > .c > --- linux-2.6.9/drivers/infiniband/core/ucma.c 2007-01-11 > 15:54:57.000000000 -0800 > +++ > linux-2.6.9-openib-drivers-git011107-fixups/drivers/infiniband/core/ucma > .c 2007-01-12 13:19:15.000000000 -0800 > @@ -1034,13 +1034,13 @@ 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); > + 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) > { > @@ -1050,22 +1050,28 @@ static int __init ucma_init(void) > if (ret) > return ret; > > - ret = device_create_file(ucma_misc.this_device, > &dev_attr_abi_version); > - if (ret) { > - printk(KERN_ERR "rdma_ucm: couldn't create abi_version > attr\n"); > - goto err; > - } > - return 0; > + 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 "user_verbs: couldn't create > abi_version attribute\n"); > + goto err; > + } > + > + return 0; > err: > - misc_deregister(&ucma_misc); > - return ret; > + misc_deregister(&ucma_misc); > + return ret; > } > > + > 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); > } > > module_init(ucma_init); _______________________________________________ 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