OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [char/] [ChangeLog] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
2001-08-11  Tim Waugh  
2
 
3
        * serial.c (get_pci_port): Deal with awkward Titan cards.
4
 
5
1998-08-26  Theodore Ts'o  
6
 
7
        * serial.c (rs_open): Correctly decrement the module in-use count
8
                on errors.
9
 
10
Thu Feb 19 14:24:08 1998  Theodore Ts'o  
11
 
12
        * tty_io.c (tty_name): Remove the non-reentrant (and non-SMP safe)
13
                version of tty_name, and rename the reentrant _tty_name
14
                function to be tty_name.
15
                (tty_open): Add a warning message stating callout devices
16
                are deprecated.
17
 
18
Mon Dec  1 08:24:15 1997  Theodore Ts'o  
19
 
20
        * tty_io.c (tty_get_baud_rate): Print a warning syslog if the
21
                tty->alt_speed kludge is used; this means the system is
22
                using the deprecated SPD_HI ioctls.
23
 
24
Mon Nov 24 10:37:49 1997  Theodore Ts'o  
25
 
26
        * serial.c, esp.c, rocket.c: Change drivers to take advantage of
27
                tty_get_baud_rate().
28
 
29
        * tty_io.c (tty_get_baud_rate): New function which computes the
30
                correct baud rate for the tty.  More factoring out of
31
                common code out of the serial driver to the high-level tty
32
                functions....
33
 
34
Sat Nov 22 07:53:36 1997  Theodore Ts'o  
35
 
36
        * serial.c, esp.c, rocket.c: Add tty->driver.break() routine, and
37
                allow high-level tty code to handle the break and soft
38
                carrier ioctls.
39
 
40
        * tty_ioctl.c (n_tty_ioctl): Support TIOCGSOFTCAR and
41
                TIOCSSOFTCAR, so that device drivers don't have to support
42
                it.
43
 
44
        * serial.c (autoconfig): Change 16750 test to hopefully eliminate
45
                false results by people with strange 16550As being
46
                detected as 16750s.  Hopefully 16750s will still be
47
                detected as 16750, and other weird UARTs won't get poorly
48
                autodetected.  If this doesn't work, I'll have to disable
49
                the auto identification for the 16750.
50
 
51
        * tty_io.c (tty_hangup): Now actually do the tty hangup
52
                processing during the timer processing, and disable
53
                interrupts while doing the hangup processing.  This avoids
54
                several nasty race conditions which happened when the
55
                hangup processing was done asynchronously.
56
                (tty_ioctl): Do break handling in the tty driver if
57
                driver's break function is supported.
58
                (tty_flip_buffer_push): New exported function which should
59
                be used by drivers to push characters in the flip buffer
60
                to the tty handler.  This may either be done using a task
61
                queue function for better CPU efficiency, or directly for
62
                low latency operation.
63
 
64
        * serial.c (rs_set_termios): Fix bug rs_set_termios when
65
                transitioning away from B0, submitted by Stanislav
66
                Voronyi.
67
 
68
Thu Jun 19 20:05:58 1997  Theodore Ts'o  
69
 
70
        * serial.c (begin_break, end_break, rs_ioctl): Applied patch
71
                to support BSD ioctls to set and clear the break
72
                condition explicitly.
73
 
74
        * console.c (scrup, scrdown, insert_line, delete_line): Applied
75
                fix suggested by Aaron Tiensivu to speed up block scrolls
76
                up and down.
77
 
78
        * n_tty.c (opost_block, write_chan): Added a modified "fast
79
                console" patch which processes a block of text via
80
                "cooking" efficiently.
81
 
82
Wed Jun 18 15:25:50 1997  Theodore Ts'o  
83
 
84
        * tty_io.c (init_dev, release_dev): Applied fix suggested by Bill
85
                Hawes to prevent race conditions in the tty code.
86
 
87
        * n_tty.c (n_tty_chars_in_buffer): Applied fix suggested by Bill
88
                Hawes so that n_tty_chars_in_buffer returns the correct
89
                value in the case when the tty is in cannonical mode.  (To
90
                avoid a pty deadlock with telnetd.)
91
 
92
Thu Feb 27 01:53:08 1997  Theodore Ts'o  
93
 
94
        * serial.c (change_speed): Add support for the termios flag
95
                CMSPAR, which allows the user to select stick parity.
96
                (i.e, if PARODD is set, the parity bit is always 1; if
97
                PARRODD is not set, then the parity bit is always 0).
98
 
99
Wed Feb 26 19:03:10 1997  Theodore Ts'o  
100
 
101
        * serial.c (cleanup_module): Fix memory leak when using the serial
102
                driver as a module; make sure tmp_buf gets freed!
103
 
104
Tue Feb 25 11:01:59 1997  Theodore Ts'o  
105
 
106
        * serial.c (set_modem_info): Add support for setting and clearing
107
                the OUT1 and OUT2 bits.  (For special case UART's, usually
108
                for half-duplex.)
109
                (autoconfig, change_speed): Fix TI 16750 support.
110
 
111
Sun Feb 16 00:14:43 1997  Theodore Ts'o  
112
 
113
        * tty_io.c (release_dev): Add sanity check to make sure there are
114
                no waiters on tty->read_wait or tty->write_wait.
115
 
116
        * serial.c (rs_init): Don't autoconfig a device if the I/O region
117
                is already reserved.
118
 
119
        * serial.c (serial_proc_info): Add support for /proc/serial.
120
 
121
Thu Feb 13 00:49:10 1997  Theodore Ts'o  
122
 
123
        * serial.c (receive_chars): When the UART repotrs an overrun
124
                condition, it does so with a valid character.  Changed to
125
                not throw away the valid character, but instead report the
126
                overrun after the valid character.
127
 
128
        * serial.c: Added new #ifdef's for some of the advanced serial
129
                driver features.  A minimal driver that only supports COM
130
                1/2/3/4 without sharing serial interrupts only takes 17k;
131
                the full driver takes 32k.
132
 
133
Wed Feb 12 14:50:44 1997  Theodore Ts'o  
134
 
135
        * vt.c:
136
        * pty.c:
137
        * tty_ioctl.c:
138
        * serial.c: Update routines to use the new 2.1 memory access
139
                routines.
140
 
141
Wed Dec  4 07:51:52 1996  Theodore Ts'o  
142
 
143
        * serial.c (change_speed): Use save_flags(); cli() and
144
                restore_flags() in order to ensure we don't accidentally
145
                turn on interrupts when starting up the port.
146
                (startup): Move the insertion of serial structure into the
147
                IRQ chain earlier into the startup processing.  Interrupts
148
                should be off this whole time, but we eventually will want
149
                to reduce this window.
150
 
151
Thu Nov 21 10:05:22 1996  Theodore Ts'o  
152
 
153
        * tty_ioctl.c (tty_wait_until_sent): Always check the driver
154
                wait_until_ready routine, even if there are no characters
155
                in the xmit buffer.  (There may be charactes in the device
156
                FIFO.)
157
                (n_tty_ioctl): Add new flag tty->flow_stopped which
158
                indicates whether the tty is stopped due to a request by
159
                the TCXONC ioctl (used by tcflow).  If so, don't let an
160
                incoming XOFF character restart the tty.  The tty can only
161
                be restarted by another TCXONC request.
162
 
163
        * tty_io.c (start_tty): Don't allow the tty to be restarted if
164
                tty->flow_stopped is true.
165
 
166
        * n_tty.c (n_tty_receive_char): If tty->flow_stopped is true, and
167
                IXANY is set, don't eat a character trying to restart the
168
                tty.
169
 
170
        * serial.c (startup): Remove need for MCR_noint from the
171
                async_struct structure.  Only turn on DTR and RTS if the
172
                baud rate is not zero.
173
                (change_speed): More accurately calculate the timeout
174
                value based on the word size.  Move responsibility of
175
                hangup when speed becomes B0 to rs_set_termios()
176
                (set_serial_info): When changing the UART type set the
177
                current xmit_fifo_size as well as the permanent
178
                xmit_fifo_size.
179
                (rs_ioctl): Fix TCSBRK (used by tcdrain) and TCSBRKP
180
                ioctls to return EINTR if interrupted by a signal.
181
                (rs_set_termios): If the baud rate changes to or from B0,
182
                this function is now responsible for setting or clearing
183
                DTR and RTS.  DTR and RTS are only be changed on the
184
                transition to or from the B0 state.
185
                (rs_close): Wait for the characters to drain based on
186
                info->timeout.  At low baud rates (50 bps), it may take a
187
                long time for the FIFO to completely drain out!
188
                (rs_wait_until_sent): Fixed timeout handling.  Now
189
                releases control to the scheduler, but checks frequently
190
                enough so that the function is sensitive enough to pass
191
                the timing requirements of the NIST-PCTS.
192
                (block_til_ready): When opening the device, don't turn on
193
                DTR and RTS if the baud rate is B0.
194
 
195
Thu Nov 14 00:06:09 1996  Theodore Ts'o  
196
 
197
        * serial.c (autoconfig): Fix autoconfiguration problems;
198
                info->flags wasn't getting initialized from the state
199
                structure.  Put in more paranoid test for the 16750.
200
 
201
Fri Nov  8 20:19:50 1996  Theodore Ts'o  
202
 
203
        * n_tty.c (n_tty_flush_buffer): Only call driver->unthrottle() if
204
                the tty was previous throttled.
205
                (n_tty_set_termios, write_chan): Add changes suggested by
206
                        Simon P. Allen to allow hardware cooking.
207
 
208
        * tty_ioctl.c (set_termios): If we get a signal while waiting for
209
                the tty to drain, return -EINTR.
210
 
211
        * serial.c (change_speed): Add support for CREAD, as required by
212
                POSIX.
213
 
214
Sat Nov  2 20:43:10 1996  Theodore Ts'o  
215
 
216
        * serial.c: Wholesale changes.  Added support for the Startech
217
                16650 and 16650V2 chips.  (WARNING: the new startech
218
                16650A may or may not work!)  Added support for the
219
                TI16750 (not yet tested).  Split async_struct into a
220
                transient part (async_struct) and a permanent part
221
                (serial_state) which contains the configuration
222
                information for the ports.  Added new driver routines
223
                wait_until_sent() and send_xchar() to help with POSIX
224
                compliance.  Added support for radio clocks which waggle
225
                the carrier detect line (CONFIG_HARD_PPS).
226
 
227
        * tty_ioctl.c (tty_wait_until_sent): Added call to new driver
228
                function tty->driver.wait_until_sent(), which returns when
229
                the tty's device xmit buffers are drained.  Needed for
230
                full POSIX compliance.
231
 
232
                (send_prio_char): New function, called by the ioctl's
233
                TCIOFF and TCION; uses the new driver call send_xchar(),
234
                which will send the XON or XOFF character at high priority
235
                (and even if tty output is stopped).
236
 
237
Wed Jun  5 18:52:04 1996  Theodore Ts'o  
238
 
239
        * pty.c (pty_close): When closing a pty, make sure packet mode is
240
                cleared.
241
 
242
Sun May 26 09:33:52 1996  Theodore Ts'o  
243
 
244
        * vesa_blank.c (set_vesa_blanking): Add missing verify_area() call.
245
 
246
        * selection.c (set_selection): Add missing verify_area() call.
247
 
248
        * tty_io.c (tty_ioctl): Add missing verify_area() calls.
249
 
250
        * serial.c (rs_ioctl): Add missing verify_area() calls.
251
                (rs_init): Allow initialization of serial driver
252
                configuration from a module.
253
 
254
        * random.c (extract_entropy): Add missing verify_area call.
255
                Don't limit number of characters returned to
256
                32,768. Extract entropy is now no longer a inlined
257
                function.
258
 
259
                (random_read): Check return value in case extract_entropy
260
                returns an error.
261
 
262
                (secure_tcp_sequence_number): New function which returns a
263
                secure TCP sequence number.  This is needed to prevent some
264
                nasty TCP hijacking attacks.
265
 
266
                (init_std_data): Initialize using gettimeofday() instead of
267
                struct timeval xtime.
268
 
269
                (fast_add_entropy_word, add_entropy_word): Rename the
270
                inline function add_entropy_word() to
271
                fast_add_entropy_word().  Make add_entropy_word() be the
272
                non-inlined function which is used in non-timing critical
273
                places, in order to save space.
274
 
275
                (initialize_benchmark, begin_benchmark, end_benchmark): New
276
                functions defined when RANDOM_BENCHMARK is defined.  They
277
                allow us to benchmark the speed of the
278
                add_timer_randomness() call.
279
 
280
                (int_ln, rotate_left): Add two new inline functions with
281
                i386 optimized asm instructions.  This speeds up the
282
                critical add_entropy_word() and add_timer_randomness()
283
                functions, which are called from interrupt handlers.
284
 
285
Tue May  7 22:51:11 1996    
286
 
287
        * random.c (add_timer_randomness): Limit the amount randomness
288
                that we estimate to 12 bits.  (An arbitrary amount).
289
 
290
                (extract_entropy): To make it harder to analyze the hash
291
                function, fold the hash function in half using XOR, and
292
                use the folded result as the value to emit to the user.
293
                Also, add timer randomness each pass through the
294
                exact_entropy call, to increase the amount of unknown
295
                values during the extraction process.
296
 
297
                (random_ioctl): Use IOR/IOW definitions to define the
298
                ioctl values used by the /dev/random driver.  Allow the
299
                old ioctl values to be used for backwards compatibility
300
                (for a limited amount of time).
301
 
302
Wed Apr 24 14:02:04 1996  Theodore Ts'o  
303
 
304
        * random.c (add_timer_randomness): Use 2nd derivative as well to
305
                better estimate entropy.
306
 
307
                (rand_initialize): Explicitly initialize all the pointers
308
                to NULL.  (Clearing pointers using memset isn't portable.)
309
                Initialize the random pool with OS-dependent data.
310
 
311
                (random_write): Add sanity checking to the arguments to
312
                random_write(), so that bad arguments won't cause a kernel
313
                SEGV.
314
 
315
                (random_read): Update the access time of the device inode
316
                when you return data to the user.
317
 
318
                (random_ioctl): Wake up the random_wait channel when there
319
                are only WAIT_INPUT_BITS available.  Add more paranoia
320
                checks to make sure entropy_count doesn't go beyond the
321
                bounds of (0, POOLSIZE).  Add a few missing verify_area
322
                checks.  Add support for the RNDCLEARPOOL ioctl, which
323
                zaps the random pool.
324
 
325
                (add_timer_randomness): Wake up the random_wait
326
                channel only when there are WAIT_INPUT_BITS available.
327
 
328
                (random_select): Allow a random refresh daemon process to
329
                select on /dev/random for writing; wake up the daemon when
330
                there are less than WAIT_OUTPUT_BITS bits of randomness
331
                available.
332
 
333
Tue Apr 23 22:56:07 1996    
334
 
335
        * tty_io.c (init_dev): Change return code when user attempts to
336
                open master pty which is already open from EAGAIN to EIO,
337
                to match with BSD expectations.  EIO is more correct
338
                anyway, since EAGAIN implies that retrying will be
339
                successful --- which it might be.... Eventually!!
340
 
341
        * pty.c (pty_open, pty_close): Fix wait loop so that we don't
342
                busy loop while waiting for the master side to open.
343
                Fix tty opening/closing logic.  TTY_SLAVE_CLOSED was
344
                renamed to TTY_OTHER_CLOSED, so that the name is more
345
                descriptive.  Also fixed code so that the tty flag
346
                actually works correctly now....
347
 
348
Mon Apr  1 10:22:01 1996    
349
 
350
        * serial.c (rs_close): Cleaned up modularization changes.
351
                Remove code which forced line discipline back to N_TTY
352
                this is done in the tty upper layers, and there's no
353
                reason to do it here.  (Making this change also
354
                removed the requirement that the serial module access
355
                the internal kernel symbol "ldiscs".)
356
 
357
        * tty_io.c (tty_init): Formally register a tty_driver entry for
358
                /dev/tty (device 4, 0) and /dev/console (device 5, 0).
359
                This guarantees that major device numbers 4 and 5 will be
360
                reserved for the tty subsystem (as they have to be because
361
                of /dev/tty and /dev/console).  Removed tty_regdev, as
362
                this interface is no longer necessary.
363
 
364
Sun Mar 17 20:42:47 GMT 1996 
365
 
366
        * serial.c : modularisation (changes in linux/fs/device.c allow
367
                kerneld to automatically load the serial module).
368
 
369
        * Makefile, Config.in : serial modularisation adds.
370
 
371
        * tty_io.c : tty_init_ctty used by to register "cua" driver just
372
                for the /dev/tty device (5,0).  Added tty_regdev.
373
 
374
        * serial.c (shutdown, rs_ioctl) : when port shuts down wakeup processes
375
          waiting on delta_msr_wait. The TIOCMIWAIT ioctl returns EIO
376
          if no change was done since the time of call.
377
 
378
Sat Mar 16 14:33:13 1996 
379
 
380
        * tty_io.c (disassociate_ctty): If disassociate_ctty is called by
381
                exit, do not perform an implicit vhangup on a pty.
382
 
383
Fri Feb  9 14:15:47 1996    
384
 
385
        * serial.c (block_til_ready): Fixed another race condition which
386
                happens if a hangup happens during the open.
387
 
388
Wed Jan 10 10:08:00 1996    
389
 
390
        * serial.c (block_til_ready): Remove race condition which happened
391
                if a hangup condition happened during the setup of the
392
                UART, before rs_open() called block_til_ready().  This
393
                caused the info->count counter to be erroneously
394
                decremented.
395
 
396
        * serial.c (startup, rs_open): Remove race condition that could
397
                cause a memory leak of one page.  (Fortunately, both race
398
                conditions were relatively rare in practice.)
399
 
400
Tue Dec  5 13:21:27 1995    
401
 
402
        * serial.c (check_modem_status, rs_ioctl): Support the new
403
                ioctl()'s TIOCGICOUNT, TIOCMIWAIT.  These allow an
404
                application program to wait on a modem serial register
405
                status bit change, and to find out how many changes have
406
                taken place for the MSR bits.
407
 
408
                (rs_write): Eliminate a race condition which is introduced
409
                if it is necessary to wait for the semaphore.
410
 
411
Sat Nov  4 17:14:45 1995    
412
 
413
        * tty_io.c (tty_init): Move registration of TTY_MAJOR and
414
                TTY_AUX_MAJOR to the end, so that /proc/devices looks
415
                prettier.
416
 
417
        * pty.c (pty_init): Use new major numbers for PTY master and slave
418
                devices.  This allow us to have more than 64 pty's.  We
419
                register the old pty devices for backwards compatibility.
420
                Note that a system should either be using the old pty
421
                devices or the new pty devices --- in general, it should
422
                try to use both, since they map into the same pty table.
423
                The old pty devices are strictly for backwards compatibility.
424
 
425
Wed Oct 11 12:45:24 1995    
426
 
427
        * tty_io.c (disassociate_ctty): If disassociate_ctty is called by
428
                exit, perform an implicit vhangup on the tty.
429
 
430
        * pty.c (pty_close): When the master pty is closed, send a hangup
431
                to the slave pty.
432
                (pty_open): Use the flag TTY_SLAVE_CLOSED to test to see
433
                if there are any open slave ptys, instead of using
434
                tty->link->count.  The old method got confused if there
435
                were processes that had hung-up file descriptors on the
436
                slave tty.
437
 
438
Tue May  2 00:53:25 1995    
439
 
440
        * tty_io.c (tty_set_ldisc): Wait until the output buffer is
441
                drained before closing the old line discipline --- needed
442
                in only one case: XON/XOFF processing.
443
 
444
        * n_tty.c (n_tty_close): Don't bother waiting until the output
445
                driver is closed; in general, the line discipline
446
                shouldn't care if the hardware is finished
447
                transmitting before the line discipline terminates.
448
 
449
        * tty_io.c (release_dev): Shutdown the line discipline after
450
                decrementing the tty count variable; but set the
451
                TTY_CLOSING flag so that we know that this tty structure
452
                isn't long for this world.
453
 
454
        * tty_io.c (init_dev): Add sanity code to check to see if
455
                TTY_CLOSING is set on a tty structure; if so, something
456
                bad has happened (probably a line discipline close blocked
457
                when it shouldn't have; so do a kernel printk and then
458
                return an error).
459
 
460
Wed Apr 26 10:23:44 1995  Theodore Y. Ts'o  
461
 
462
        * tty_io.c (release_dev): Try to shutdown the line discipline
463
                *before* decrementing the tty count variable; this removes
464
                a potential race condition which occurs when the line
465
                discipline close blocks, and another process then tries
466
                open the same serial port.
467
 
468
        * serial.c (rs_hangup): When hanging up, flush the output buffer
469
                before shutting down the UART.  Otherwise the line
470
                discipline close blocks waiting for the characters to get
471
                flushed, which never happens until the serial port gets reused.
472
 
473
Wed Apr 12 08:06:16 1995  Theodore Y. Ts'o  
474
 
475
        * serial.c (do_serial_hangup, do_softint, check_modem_status,
476
                rs_init):  Hangups are now scheduled via a separate tqueue
477
                structure in the async_struct structure, tqueue_hangup.
478
                This task is pushed on to the tq_schedule queue, so that
479
                it is processed synchronously by the scheduler.
480
 
481
Sat Feb 18 12:13:51 1995  Theodore Y. Ts'o  (tytso@rt-11)
482
 
483
        * tty_io.c (disassociate_ctty, tty_open, tty_ioctl): Clear
484
                current->tty_old_pgrp field when a session leader
485
                acquires a controlling tty, and after a session leader
486
                has disassociated from a controlling tty.
487
 
488
Fri Feb 17 09:34:09 1995  Theodore Y. Ts'o  (tytso@rt-11)
489
 
490
        * serial.c (rs_interrupt_single, rs_interrupt, rs_interrupt_multi):
491
                Change the number of passes made from 64 to be 256,
492
                configurable with the #define RS_ISR_PASS_LIMIT.
493
 
494
        * serial.c (rs_init, set_serial_info, get_serial_info, rs_close):
495
                Remove support for closing_wait2.  Instead, set
496
                tty->closing and rely on the line discipline to prevent
497
                echo wars.
498
 
499
        * n_tty.c (n_tty_receive_char):  IEXTEN does not need to be
500
                enabled in order for IXANY to be active.
501
 
502
                If tty->closing is set, then only process XON and XOFF
503
                characters.
504
 
505
Sun Feb 12 23:57:48 1995  Theodore Y. Ts'o  (tytso@rt-11)
506
 
507
        * serial.c (rs_timer): Change the interrupt poll time from 60
508
                seconds to 10 seconds, configurable with the #define
509
                RS_STROBE_TIME.
510
 
511
        * serial.c (rs_interrupt_multi, startup, shutdown, rs_ioctl,
512
                set_multiport_struct, get_multiport_struct): Add
513
                provisions for a new type of interrupt service routine,
514
                which better supports multiple serial ports on a single
515
                IRQ.
516
 
517
Sun Feb  5 19:35:11 1995  Theodore Y. Ts'o  (tytso@rt-11)
518
 
519
        * tty_ioctl.c (n_tty_ioctl, set_termios, tty_wait_until_sent):
520
        * serial.c (rs_ioctl, rs_close):
521
        * cyclades.c (cy_ioctl, cy_close):
522
        * n_tty.c (n_tty_close):  Rename wait_until_sent to
523
                tty_wait_until_sent, so that it's a better name to export
524
                in ksyms.c.
525
 
526
Sat Feb  4 23:36:20 1995  Theodore Y. Ts'o  (tytso@rt-11)
527
 
528
        * serial.c (rs_close): Added missing check for closing_wait2 being
529
                ASYNC_CLOSING_WAIT_NONE.
530
 
531
Thu Jan 26 09:02:49 1995  Theodore Y. Ts'o  (tytso@rt-11)
532
 
533
        * serial.c (rs_init, set_serial_info, get_serial_info,
534
                rs_close): Support close_wait in the serial driver.
535
                This is helpful for slow devices (like serial
536
                plotters) so that their outputs don't get flushed upon
537
                device close.  This has to be configurable because
538
                normally we don't want ports to be hung up for long
539
                periods of time during a close when they are not
540
                connected to a device, or the device is powered off.
541
 
542
                The default is to wait 30 seconds; in the case of a
543
                very slow device, the close_wait timeout should be
544
                lengthened.  If it is set to 0, the kernel will wait
545
                forever for all of the data to be transmitted.
546
 
547
Thu Jan 17 01:17:20 1995  Theodore Y. Ts'o  (tytso@rt-11)
548
 
549
        * serial.c (startup, change_speed, rs_init): Add support to detect
550
                the StarTech 16650 chip.  Treat it as a 16450 for now,
551
                because of its FIFO bugs.
552
 
553
Thu Jan  5 21:21:57 1995  
554
 
555
        * serial.c: (receive_char): Added counter to prevent infinite loop
556
                when a PCMCIA serial device is ejected.
557
 
558
Thu Dec 29 17:53:48 1994    
559
 
560
        * tty_io.c (check_tty_count): New procedure which checks
561
                tty->count to make sure that it matches with the number of
562
                open file descriptors which point at the structure.  If
563
                the number doesn't match, it prints a warning message.
564
 
565
Wed Dec 28 15:41:51 1994    
566
 
567
        * tty_io.c (do_tty_hangup, disassociate_ctty): At hangup time,
568
                save the tty's current foreground process group in the
569
                session leader's task structure.  When the session leader
570
                terminates, send a SIGHUP, SIGCONT to that process group.
571
                This is not required by POSIX, but it's not prohibited
572
                either, and it appears to be the least intrusive way
573
                to fix a problem that dialup servers have with
574
                orphaned process groups caused by modem hangups.
575
 
576
Thu Dec  8 14:52:11 1994    
577
 
578
        * serial.c (rs_ioctl): Don't allow most ioctl's if the serial port
579
                isn't initialized.
580
 
581
        * serial.c (rs_close): Don't clear the IER if the serial port
582
                isn't initialized.
583
 
584
        * serial.c (block_til_ready): Don't try to block on the dialin
585
                port if the serial port isn't initialized.
586
 
587
Wed Dec  7 10:48:30 1994  Si Park (si@wimpol.demon.co.uk)
588
        * tty_io.c (tty_register_driver): Fix bug when linking onto
589
                the tty_drivers list. We now test that there are elements
590
                already on the list before setting the back link from the
591
                first element to the new driver.
592
 
593
        * tty_io.c (tty_unregister_driver): Fix bug in unlinking the
594
                specified driver from the tty_drivers list. We were not
595
                setting the back link correctly. This used to result in
596
                a dangling back link pointer and cause panics on the next
597
                call to get_tty_driver().
598
 
599
Tue Nov 29 10:21:09 1994  Theodore Y. Ts'o  (tytso@rt-11)
600
 
601
        * tty_io.c (tty_unregister_driver): Fix bug in
602
                tty_unregister_driver where the pointer to the refcount is
603
                tested, instead of the refcount itself.  This caused
604
                tty_unregister_driver to always return EBUSY.
605
 
606
Sat Nov 26 11:59:24 1994  Theodore Y. Ts'o  (tytso@rt-11)
607
 
608
        * tty_io.c (tty_ioctl): Add support for the new ioctl
609
                TIOCTTYGSTRUCT, which allow a kernel debugging program
610
                direct read access to the tty and tty_driver structures.
611
 
612
Fri Nov 25 17:26:22 1994  Theodore Y. Ts'o  (tytso@rt-11)
613
 
614
        * serial.c (rs_set_termios): Don't wake up processes blocked in
615
                open when the CLOCAL flag changes, since a blocking
616
                open only samples the CLOCAL flag once when it blocks,
617
                and doesn't check it again.  (n.b.  FreeBSD has a
618
                different behavior for blocking opens; it's not clear
619
                whether Linux or FreeBSD's interpretation is correct.
620
                POSIX doesn't give clear guidance on this issue, so
621
                this may change in the future....)
622
 
623
        * serial.c (block_til_ready): Use the correct termios structure to
624
                check the CLOCAL flag.  If the cuaXX device is active,
625
                then check the saved termios for the ttySXX device.
626
                Otherwise, use the currently active termios structure.
627
 
628
Sun Nov  6 21:05:44 1994  Theodore Y. Ts'o  (tytso@rt-11)
629
 
630
        * serial.c (change_speed): Add support for direct access of
631
                57,600 and 115,200 bps.
632
 
633
Wed Nov  2 10:32:36 1994  Theodore Y. Ts'o  (tytso@rt-11)
634
 
635
        * n_tty.c (n_tty_receive_room): Only allow excess characters
636
                through if we are in ICANON mode *and* there are other no
637
                pending lines in the buffer.  Otherwise cut and paste over
638
                4k breaks.
639
 
640
Sat Oct 29 18:17:34 1994  Theodore Y. Ts'o  (tytso@rt-11)
641
 
642
        * serial.c (rs_ioctl, get_lsr_info): Added patch suggested by Arne
643
                Riiber so that user mode programs can tell when the
644
                transmitter shift register is empty.
645
 
646
Thu Oct 27 23:14:29 1994  Theodore Y. Ts'o  (tytso@rt-11)
647
 
648
        * tty_ioctl.c (wait_until_sent): Added debugging printk statements
649
                (under the #ifdef TTY_DEBUG_WAIT_UNTIL_SENT)
650
 
651
        * serial.c (rs_interrupt, rs_interrupt_single, receive_chars,
652
                change_speed, rs_close): rs_close now disables receiver
653
                interrupts when closing the serial port.  This allows the
654
                serial port to close quickly when Linux and a modem (or a
655
                mouse) are engaged in an echo war; when closing the serial
656
                port, we now first stop listening to incoming characters,
657
                and *then* wait for the transmit buffer to drain.
658
 
659
                In order to make this change, the info->read_status_mask
660
                is now used to control what bits of the line status
661
                register are looked at in the interrupt routine in all
662
                cases; previously it was only used in receive_chars to
663
                select a few of the status bits.
664
 
665
Mon Oct 24 23:36:21 1994  Theodore Y. Ts'o  (tytso@rt-11)
666
 
667
        * serial.c (rs_close): Add a timeout to the transmitter flush
668
                loop; this is just a sanity check in case we have flaky
669
                (or non-existent-but-configured-by-the-user) hardware.
670
 
671
Fri Oct 21 09:37:23 1994  Theodore Y. Ts'o  (tytso@rt-11)
672
 
673
        * tty_io.c (tty_fasync): When asynchronous I/O is enabled, if the
674
                process or process group has not be specified yet, set it
675
                to be the tty's process group, or if that is not yet set,
676
                to the current process's pid.
677
 
678
Thu Oct 20 23:17:28 1994  Theodore Y. Ts'o  (tytso@rt-11)
679
 
680
        * n_tty.c (n_tty_receive_room): If we are doing input
681
                canonicalization, let as many characters through as
682
                possible, so that the excess characters can be "beeped".
683
 
684
Tue Oct 18 10:02:43 1994  Theodore Y. Ts'o  (tytso@rt-11)
685
 
686
        * serial.c (rs_start): Removed an incorrect '!' that was
687
                preventing transmit interrupts from being re-enabled in
688
                rs_start().  Fortunately in most cases it would be
689
                re-enabled elsewhere, but this still should be fixed
690
                correctly.
691
 
692
Sun Oct  9 23:46:03 1994  Theodore Y. Ts'o  (tytso@rt-11)
693
 
694
        * tty_io.c (do_tty_hangup): If the tty driver flags
695
                TTY_DRIVER_RESET_TERMIOS is set, then reset the termios
696
                settings back to the driver's initial configuration.  This
697
                allows the termios settings to be reset even if a process
698
                has hung up file descriptors keeping a pty's termios from
699
                being freed and reset.
700
 
701
        * tty_io.c (release_dev): Fix memory leak.  The pty's other
702
                termios structure should also be freed.
703
 
704
        * serial.c (rs_close, shutdown): Change how we wait for the
705
                transmitter to completely drain before shutting down the
706
                serial port.  We now do it by scheduling in another
707
                process instead of busy looping with the interrupts turned
708
                on.  This may eliminate some race condition problems that
709
                some people seem to be reporting.
710
 
711
Sun Sep 25 14:18:14 1994  Theodore Y. Ts'o  (tytso@rt-11)
712
 
713
        * tty_io.c (release_dev): When freeing a tty make sure that both
714
                the tty and the o_tty (if present) aren't a process's
715
                controlling tty.  (Previously, we only checked the tty.)
716
 
717
        * serial.c (change_speed): Only enable the Modem Status
718
                Interrupt for a port if CLOCAL is not set or CRTSCTS
719
                is set.  If we're not checking the carrier detect and
720
                CTS line, there's no point in enabling the modem
721
                status interrupt.  This will save spurious interrupts
722
                from slowing down systems who have terminals that
723
                don't support either line.  (Of course, if you want
724
                only one of CD and CTS support, you will need a
725
                properly wired serial cable.)
726
 
727
Thu Sep 22 08:32:48 1994  Theodore Y. Ts'o  (tytso@rt-11)
728
 
729
        * tty_io.c (do_SAK): Return if tty is null.
730
 
731
        * tty_io.c (_tty_name): Return "NULL tty" if the passed in tty is
732
                NULL.
733
 
734
Sat Sep 17 13:19:25 1994  Theodore Y. Ts'o  (tytso@rt-11)
735
 
736
        * tty_ioctl.c (n_tty_ioctl): Fix TIOCGLCKTRMIOS and
737
                TIOCSLCKTRMIOS, which were totally broken.  Remove
738
                extra indirection from argument; it should be a struct
739
                termios *, not a struct termios **.
740
                &real_tty->termios_locked should have been
741
                real_tty->termios_locked.  This caused us to be
742
                reading and writing the termios_locked structure to
743
                random places in kernel memory.
744
 
745
        * tty_io.c (release_dev): Oops!  Forgot to delete a critical kfree
746
                of the locked_termios.  This leaves the locked_termios
747
                structure pointed at a freed object.
748
 
749
Fri Sep 16 08:13:25 1994  Theodore Y. Ts'o  (tytso@rt-11)
750
 
751
        * tty_io.c (tty_open): Don't check for an exclusive open until
752
                after the device specific open routine has been called.
753
                Otherwise, the serial device ref counting will be screwed
754
                up.
755
 
756
        * serial.c (rs_open, block_til_ready): Don't set termios structure
757
                until after block_til_ready has returned successfully.
758
                Modify block_til_ready to check the normal_termios
759
                structure directly, so it doesn't rely on termios being
760
                set before it's called.
761
 
762
Thu Sep 15 23:34:01 1994  Theodore Y. Ts'o  (tytso@rt-11)
763
 
764
        * serial.c (rs_close): Turn off interrupts during rs_close() to
765
                prevent a race condition with the hangup code (which
766
                runs during a software interrupt).
767
 
768
        * tty_io.c (release_dev): Don't free the locked_termios structure;
769
                its state must be retained across device opens.
770
 
771
 
772
        * tty_io.c (tty_unregister_driver): Added function to unregister a
773
                tty driver.  (For loadable device drivers.)
774
 
775
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.