#500 closed defect (fixed)

Termios tty->buf overflow correction

Reported by: cedric_aubert Owned by: Eric Norum
Priority: normal Milestone: 4.9
Component: unspecified Version: 4.6
Severity: major Keywords:
Cc: bugs@…, joel.sherrill@…, chrisj@… Blocked By:
Blocking:

Description

Evenif you will have hardware flowcontrol enable,
you will have some overflow in interrupt mode.
Flow control can avoid
overflow of raw_inbuf but don't care of tty->buf, and
fillbufferQueue don't care about tty->buf size. Just
care about this size in fillbufferqueue avoid of
this overflow.

Disable interrupt in fillBufferQueue() before modify
tty->flow_ctrl. It could have some trouble when
you are at lowwater and if some serial interrupt come
on fill the buffer and ask to stopremotetx. They only
happend in low performance cpu.

Release:
RTEMS-4.6

How-To-Repeat:
Just transfert a big file with overflow enable, you will
lose many character.

Attachments (2)

Termios.diff (463 bytes) - added by cedric_aubert on 12/03/06 at 13:31:13.
Termios.diff
Patch_rtems-4.6.0_cpukit_libcsupport_src_termios_c.diff (1.4 KB) - added by cedric_aubert on 12/03/06 at 13:31:13.
Patch_rtems-4.6.0_cpukit_libcsupport_src_termios_c.diff

Download all attachments as: .zip

Change History (8)

comment:1 Changed on 09/26/03 at 16:44:12 by Joel Sherrill

Owner: changed from joel to eric

comment:2 Changed on 02/18/04 at 04:32:33 by Chris Johns

Owner: changed from eric to Chris Johns

comment:3 Changed on 09/01/05 at 14:01:39 by Joel Sherrill

Owner: changed from Chris Johns to eric

comment:4 Changed on 09/08/06 at 19:46:18 by Joel Sherrill

Status: assignedwaiting

Changed on 12/03/06 at 13:31:13 by cedric_aubert

Attachment: Termios.diff added

Termios.diff

comment:5 Changed on 08/05/08 at 16:16:13 by Joel Sherrill

Milestone: 4.9
rep_platform: All

comment:6 Changed on 08/19/08 at 19:28:44 by Joel Sherrill

Resolution: fixed
Status: assignedclosed

Patch committed on all branches needing it.

comment:7 Changed on 10/10/17 at 06:35:44 by Sebastian Huber

Component: miscunspecified
Note: See TracTickets for help on using tickets.