/* This file implement the IRDA interface of IrNET. Basically, we sit on top of IrTTP. We set up IrTTP, IrIAS properly, and exchange frames with IrTTP. PPP disconnect work: we need to make sure we're in process context when calling ppp_unregister_channel().  */
static void irnet_ppp_disconnect(struct work_struct *work)
/* This file implement the IRDA interface of IrNET. Basically, we sit on top of IrTTP. We set up IrTTP, IrIAS properly, and exchange frames with IrTTP. PPP disconnect work: we need to make sure we're in process context when calling ppp_unregister_channel().  */
static void irnet_ppp_disconnect(struct work_struct *work)
{
	irnet_socket * self =
		container_of(work, irnet_socket, disconnect_work);
	if (self == NULL)
		return;
	if (self->ppp_open && !self->ttp_open && !self->ttp_connect) {
		ppp_unregister_channel(&self->chan);
		self->ppp_open = 0;
	}
}