- if (C_CLOCAL(tty)) {
- /* without modem intr */
- cyy_writeb(info, CySRER,
- cyy_readb(info, CySRER) | CyMdmCh);
- /* act on 1->0 modem transitions */
- if ((cflag & CRTSCTS) && info->rflow) {
- cyy_writeb(info, CyMCOR1,
- (CyCTS | rflow_thr[i]));
- } else {
- cyy_writeb(info, CyMCOR1,
- CyCTS);
- }
- /* act on 0->1 modem transitions */
- cyy_writeb(info, CyMCOR2, CyCTS);
- } else {
- /* without modem intr */
- cyy_writeb(info, CySRER,
- cyy_readb(info, CySRER) | CyMdmCh);
- /* act on 1->0 modem transitions */
- if ((cflag & CRTSCTS) && info->rflow) {
- cyy_writeb(info, CyMCOR1,
- (CyDSR | CyCTS | CyRI | CyDCD |
- rflow_thr[i]));
- } else {
- cyy_writeb(info, CyMCOR1,
- CyDSR | CyCTS | CyRI | CyDCD);
- }
- /* act on 0->1 modem transitions */
- cyy_writeb(info, CyMCOR2,
- CyDSR | CyCTS | CyRI | CyDCD);
- }
+ cflags = CyCTS;
+ if (!C_CLOCAL(tty))
+ cflags |= CyDSR | CyRI | CyDCD;
+ /* without modem intr */
+ cyy_writeb(info, CySRER, cyy_readb(info, CySRER) | CyMdmCh);
+ /* act on 1->0 modem transitions */
+ if ((cflag & CRTSCTS) && info->rflow)
+ cyy_writeb(info, CyMCOR1, cflags | rflow_thr[i]);
+ else
+ cyy_writeb(info, CyMCOR1, cflags);
+ /* act on 0->1 modem transitions */
+ cyy_writeb(info, CyMCOR2, cflags);