#endif
if (rndis_string_defs[0].id == 0) {
- /* ... and setup RNDIS itself */
- status = rndis_init();
- if (status < 0)
- return status;
-
status = usb_string_ids_tab(c->cdev, rndis_string_defs);
if (status)
return status;
struct f_rndis *rndis = func_to_rndis(f);
rndis_deregister(rndis->config);
- rndis_exit();
rndis_string_defs[0].id = 0;
usb_free_all_descriptors(f);
rndis->port.func.disable = rndis_disable;
status = usb_add_function(c, &rndis->port.func);
- if (status) {
+ if (status)
kfree(rndis);
fail:
- rndis_exit();
- }
return status;
}
{
struct f_rndis *rndis = func_to_rndis(f);
- rndis_exit();
rndis_string_defs[0].id = 0;
usb_free_all_descriptors(f);
/* allocate and initialize one new instance */
rndis = kzalloc(sizeof(*rndis), GFP_KERNEL);
- if (!rndis) {
- rndis_exit();
+ if (!rndis)
return ERR_PTR(-ENOMEM);
- }
opts = container_of(fi, struct f_rndis_opts, func_inst);
return 0;
}
-EXPORT_SYMBOL(rndis_init);
+module_init(rndis_init);
void rndis_exit(void)
{
}
#endif
}
-EXPORT_SYMBOL(rndis_exit);
+module_exit(rndis_exit);
MODULE_LICENSE("GPL");
int rndis_state (int configNr);
extern void rndis_set_host_mac (int configNr, const u8 *addr);
-int rndis_init(void);
-void rndis_exit (void);
-
#endif /* _LINUX_RNDIS_H */