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
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general