改:
usb_get_function_instance
fi =try_get_usb_function_instance(name);staticstructusb_function_instance*try_get_usb_function_instance(constchar*name)list_for_each_entry(fd,&func_list, list){if(strcmp(name, fd->name))continue;if(!try_module_get(fd->mod)){
fi =ERR_PTR(-EBUSY);break;}
fi = fd->alloc_inst();if(IS_ERR(fi))module_put(fd->mod);else
fi->fd = fd;break;}