2016-02-11 22:08 GMT+03:00 Matwey V. Kornilov <matwey@xxxxxxxxxx>: > Thanks for pointing out. serial8250_unregister_port should set > serial8250_ports[line].em485 to NULL in order to prevent unneeded > activation when this struct is reused. Then the allocated/initialized resources should be freed/released as well. > You would be able to use serial8250_em485_register in omap8250_probe > on &up before serial8250_register_8250_port(&up) if > serial8250_register_8250_port could replicate em485 member state. > But there are alternatives in implementation. I'm considering adding the relevant code to the omap8250_startup and omap8250_shutdown callback functions. However the serial driver documentation claims that these don't have port->lock taken when invoked, only port_sem. > serial8250_register_8250_port may either copy pointer up->em485 to > uart->em485 or perform deep copy. Actually, "up" here in omap8250_probe is not a pointer but a struct variable on stack, so copying the pointer to it is out of question. Regards, Ilyas G. -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html