diff -u -p linux/net/irda/ircomm/ircomm_param.d5.c linux/net/irda/ircomm/ircomm_param.c --- linux/net/irda/ircomm/ircomm_param.d5.c Wed Jan 8 17:40:08 2003 +++ linux/net/irda/ircomm/ircomm_param.c Wed Jan 8 17:51:19 2003 @@ -442,7 +442,9 @@ static int ircomm_param_dte(void *instan param->pv.i = self->settings.dte; else { dte = (__u8) param->pv.i; - + + self->settings.dce = 0; + if (dte & IRCOMM_DELTA_DTR) self->settings.dce |= (IRCOMM_DELTA_DSR| IRCOMM_DELTA_RI | diff -u -p linux/net/irda/ircomm/ircomm_tty.d5.c linux/net/irda/ircomm/ircomm_tty.c --- linux/net/irda/ircomm/ircomm_tty.d5.c Wed Jan 8 17:40:17 2003 +++ linux/net/irda/ircomm/ircomm_tty.c Wed Jan 8 17:53:22 2003 @@ -490,7 +490,8 @@ static int ircomm_tty_open(struct tty_st if (line < 0x10) { self->service_type = IRCOMM_3_WIRE | IRCOMM_9_WIRE; self->settings.service_type = IRCOMM_9_WIRE; /* 9 wire as default */ - self->settings.dce = IRCOMM_CTS | IRCOMM_CD; /* Default line settings */ + /* Jan Kiszka -> add DSR/RI -> Conform to IrCOMM spec */ + self->settings.dce = IRCOMM_CTS | IRCOMM_CD | IRCOMM_DSR | IRCOMM_RI; /* Default line settings */ IRDA_DEBUG(2, "%s(), IrCOMM device\n", __FUNCTION__ ); } else { IRDA_DEBUG(2, "%s(), IrLPT device\n", __FUNCTION__ );