Commit 5f746f2c authored by Jean Tourrilhes's avatar Jean Tourrilhes Committed by Linus Torvalds

[irda][CORRECT] Properly initialise IrCOMM status line (DCE settings)

                <Patch from Jan Kiszka>
parent 7f939798
...@@ -442,7 +442,9 @@ static int ircomm_param_dte(void *instance, irda_param_t *param, int get) ...@@ -442,7 +442,9 @@ static int ircomm_param_dte(void *instance, irda_param_t *param, int get)
param->pv.i = self->settings.dte; param->pv.i = self->settings.dte;
else { else {
dte = (__u8) param->pv.i; dte = (__u8) param->pv.i;
self->settings.dce = 0;
if (dte & IRCOMM_DELTA_DTR) if (dte & IRCOMM_DELTA_DTR)
self->settings.dce |= (IRCOMM_DELTA_DSR| self->settings.dce |= (IRCOMM_DELTA_DSR|
IRCOMM_DELTA_RI | IRCOMM_DELTA_RI |
......
...@@ -490,7 +490,8 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp) ...@@ -490,7 +490,8 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp)
if (line < 0x10) { if (line < 0x10) {
self->service_type = IRCOMM_3_WIRE | IRCOMM_9_WIRE; self->service_type = IRCOMM_3_WIRE | IRCOMM_9_WIRE;
self->settings.service_type = IRCOMM_9_WIRE; /* 9 wire as default */ 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__ ); IRDA_DEBUG(2, "%s(), IrCOMM device\n", __FUNCTION__ );
} else { } else {
IRDA_DEBUG(2, "%s(), IrLPT device\n", __FUNCTION__ ); IRDA_DEBUG(2, "%s(), IrLPT device\n", __FUNCTION__ );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment