[PATCH] : ir249_irnet_disc_ind.diff

Jean Tourrilhes (jt@bougret.hpl.hp.com)
Tue, 5 Mar 2002 17:52:33 -0800


ir249_irnet_disc_ind.diff :
-------------------------
o [CORRECT] Fix IrNET disconnection to not reconnect but
instead to hangup pppd

diff -u -p linux/net/irda/irnet/irnet.d4.h linux/net/irda/irnet/irnet.h
--- linux/net/irda/irnet/irnet.d4.h Tue Mar 5 16:05:20 2002
+++ linux/net/irda/irnet/irnet.h Tue Mar 5 16:43:09 2002
@@ -206,6 +206,11 @@
* just after clearing it. *blush*.
* o Use newly created irttp_listen() to fix potential crash when LAP
* destroyed before irnet module removed.
+ *
+ * v10 - 4.3.2 - Jean II
+ * o When receiving a disconnect indication, don't reenable the
+ * PPP Tx queue, this will trigger a reconnect. Instead, close
+ * the channel, which will kill pppd...
*/

/***************************** INCLUDES *****************************/
diff -u -p linux/net/irda/irnet/irnet_irda.d4.c linux/net/irda/irnet/irnet_irda.c
--- linux/net/irda/irnet/irnet_irda.d4.c Tue Mar 5 16:05:30 2002
+++ linux/net/irda/irnet/irnet_irda.c Tue Mar 5 16:43:09 2002
@@ -1122,9 +1122,10 @@ irnet_disconnect_indication(void * insta
irttp_close_tsap(self->tsap);
self->tsap = NULL;

- /* Flush (drain) ppp_generic Tx queue (most often we have blocked it) */
+ /* Cleanup & close the PPP channel, which will kill pppd and the rest */
if(self->ppp_open)
- ppp_output_wakeup(&self->chan);
+ ppp_unregister_channel(&self->chan);
+ self->ppp_open = 0;
}
/* Cleanup the socket in case we want to reconnect */
self->stsap_sel = 0;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/