Contents of /alx-src/tags/kernel26-2.6.12-alx-r9/drivers/char/ChangeLog
Parent Directory | Revision Log
Revision 630 -
(show annotations)
(download)
Wed Mar 4 11:03:09 2009 UTC (15 years, 6 months ago) by niro
File size: 30650 byte(s)
Wed Mar 4 11:03:09 2009 UTC (15 years, 6 months ago) by niro
File size: 30650 byte(s)
Tag kernel26-2.6.12-alx-r9
1 | 2001-08-11 Tim Waugh <twaugh@redhat.com> |
2 | |
3 | * serial.c (get_pci_port): Deal with awkward Titan cards. |
4 | |
5 | 1998-08-26 Theodore Ts'o <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@localhost.mit.edu> |
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 <tytso@localhost.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <ah@doc.ic.ac.uk> |
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 <aeb@cwi.nl> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsts-11.mit.edu> |
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 <tytso@rsx-11.mit.edu> |
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 <tytso@localhost> |
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 <tytso@localhost> |
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 <dahinds@users.sourceforge.net> |
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 <tytso@rsx-11.mit.edu> |
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 <tytso@rsx-11.mit.edu> |
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 <tytso@rsx-11.mit.edu> |
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 |