ret = class_create_file(&umad_class, &class_attr_abi_version); 
ret = class_create_file(umad_class, &class_attr_abi_version); 
static int __init ib_umad_init(void){	int ret;	spin_lock_init(&map_lock);	ret = register_chrdev_region(base_dev, IB_UMAD_MAX_PORTS * 2,				     "infiniband_mad");	if (ret) {		printk(KERN_ERR "user_mad: couldn't register device number\n");		goto out;	}	ret = class_register(&umad_class);	if (ret) {		printk(KERN_ERR "user_mad: couldn't create class infiniband_mad\n");		goto out_chrdev;	}	ret = class_create_file(&umad_class, &class_attr_abi_version);	if (ret) {		printk(KERN_ERR "user_mad: couldn't create abi_version attribute\n");		goto out_class;	}	ret = ib_register_client(&umad_client);	if (ret) {		printk(KERN_ERR "user_mad: couldn't register ib_umad client\n");		goto out_class;	}	return 0;out_class:	class_unregister(&umad_class);out_chrdev:	unregister_chrdev_region(base_dev, IB_UMAD_MAX_PORTS * 2);out:	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a74968f8c3b1166cfe0942901b56165f06ab6f60/user_mad.c/clean/drivers/infiniband/core/user_mad.c