PCI: PCIe: Disable PCIe port services during port initialization
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / Documentation / scsi / ChangeLog.1992-1997
blob6faad7e6417c89e82e761928393c9907410c5e0f
1 Sat Jan 18 15:51:45 1997  Richard Henderson  <rth@tamu.edu>
3         * Don't play with usage_count directly, instead hand around
4         the module header and use the module macros.
6 Fri May 17 00:00:00 1996  Leonard N. Zubkoff <lnz@dandelion.com>
8         * BusLogic Driver Version 2.0.3 Released.
10 Tue Apr 16 21:00:00 1996  Leonard N. Zubkoff <lnz@dandelion.com>
12         * BusLogic Driver Version 1.3.2 Released.
14 Sun Dec 31 23:26:00 1995  Leonard N. Zubkoff <lnz@dandelion.com>
16         * BusLogic Driver Version 1.3.1 Released.
18 Fri Nov 10 15:29:49 1995  Leonard N. Zubkoff <lnz@dandelion.com>
20         * Released new BusLogic driver.
22 Wed Aug  9 22:37:04 1995  Andries Brouwer  <aeb@cwi.nl>
24         As a preparation for new device code, separated the various
25         functions the request->dev field had into the device proper,
26         request->rq_dev and a status field request->rq_status.
28         The 2nd argument of bios_param is now a kdev_t.
30 Wed Jul 19 10:43:15 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
32         * scsi.c (scsi_proc_info): /proc/scsi/scsi now also lists all
33         attached devices.
35         * scsi_proc.c (proc_print_scsidevice): Added. Used by scsi.c and
36         eata_dma_proc.c to produce some device info for /proc/scsi.
38         * eata_dma.c (eata_queue)(eata_int_handler)(eata_scsi_done):
39         Changed handling of internal SCSI commands send to the HBA.
42 Wed Jul 19 10:09:17 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
44         * Linux 1.3.11 released.
46         * eata_dma.c (eata_queue)(eata_int_handler): Added code to do
47         command latency measurements if requested by root through
48         /proc/scsi interface.
49         Throughout Use HZ constant for time references.
51         * eata_pio.c: Use HZ constant for time references.
53         * aic7xxx.c, aic7xxx.h, aic7xxx_asm.c: Changed copyright from BSD
54         to GNU style.
56         * scsi.h: Added READ_12 command opcode constant
58 Wed Jul 19 09:25:30 1995  Michael Neuffer <neuffer@goofy.zdv.uni-mainz.de>
60         * Linux 1.3.10 released.
62         * scsi_proc.c (dispatch_scsi_info): Removed unused variable.
64 Wed Jul 19 09:25:30 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
66         * Linux 1.3.9 released.
68         * scsi.c Blacklist concept expanded to 'support' more device
69         deficiencies. blacklist[] renamed to device_list[]
70         (scan_scsis): Code cleanup.
72         * scsi_debug.c (scsi_debug_proc_info): Added support to control
73         device lockup simulation via /proc/scsi interface.
76 Wed Jul 19 09:22:34 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
78         * Linux 1.3.7 released.
80         * scsi_proc.c: Fixed a number of bugs in directory handling
82 Wed Jul 19 09:18:28 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
84         * Linux 1.3.5 released.
86         * Native wide, multichannel and /proc/scsi support now in official
87         kernel distribution.
89         * scsi.c/h, hosts.c/h et al reindented to increase readability
90         (especially on 80 column wide terminals).
92         * scsi.c, scsi_proc.c, ../../fs/proc/inode.c: Added
93         /proc/scsi/scsi which allows root to scan for hotplugged devices.
95         * scsi.c (scsi_proc_info): Added, to support /proc/scsi/scsi.
96         (scan_scsis): Added some 'spaghetti' code to allow scanning for
97         single devices.
98         
100 Thu Jun 20 15:20:27 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
102         * proc.c: Renamed to scsi_proc.c
104 Mon Jun 12 20:32:45 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
106         * Linux 1.3.0 released.
108 Mon May 15 19:33:14 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
110         * scsi.c: Added native multichannel and wide scsi support.
112         * proc.c (dispatch_scsi_info) (build_proc_dir_hba_entries):
113         Updated /proc/scsi interface.
115 Thu May  4 17:58:48 1995  Michael Neuffer  <neuffer@goofy.zdv.uni-mainz.de>
117         * sd.c (requeue_sd_request): Zero out the scatterlist only if
118         scsi_malloc returned memory for it.
120         * eata_dma.c (register_HBA) (eata_queue): Add support for
121         large scatter/gather tables and set use_clustering accordingly
123         * hosts.c: Make use_clustering changeable in the Scsi_Host structure.
125 Wed Apr 12 15:25:52 1995  Eric Youngdale  (eric@andante)
127         * Linux 1.2.5 released.
129         * buslogic.c: Update to version 1.15 (From Leonard N. Zubkoff).
130         Fixed interrupt routine to avoid races when handling multiple
131         complete commands per interrupt.  Seems to come up with faster
132         cards.
134         * eata_dma.c: Update to 2.3.5r. Modularize. Improved error handling
135         throughout and fixed bug interrupt routine which resulted in shifted
136         status bytes. Added blink LED state checks for ISA and EISA HBAs.
137         Memory management bug seems to have disappeared ==> increasing
138         C_P_L_CURRENT_MAX to 16 for now. Decreasing C_P_L_DIV to 3 for
139         performance reasons.
141         * scsi.c: If we get a FMK, EOM, or ILI when attempting to scan
142         the bus, assume that it was just noise on the bus, and ignore
143         the device.
145         * scsi.h: Update and add a bunch of missing commands which we
146         were never using.
148         * sd.c: Use restore_flags in do_sd_request - this may result in
149         latency conditions, but it gets rid of races and crashes.
150         Do not save flags again when searching for a second command to
151         queue.
153         * st.c: Use bytes, not STP->buffer->buffer_size when reading
154         from tape.
157 Tue Apr  4 09:42:08 1995  Eric Youngdale  (eric@andante)
159         * Linux 1.2.4 released.
161         * st.c: Fix typo - restoring wrong flags.
163 Wed Mar 29 06:55:12 1995  Eric Youngdale  (eric@andante)
165         * Linux 1.2.3 released.
167         * st.c: Perform some waiting operations with interrupts off.
168         Is this correct???
170 Wed Mar 22 10:34:26 1995  Eric Youngdale  (eric@andante)
172         * Linux 1.2.2 released.
174         * aha152x.c: Modularize.  Add support for PCMCIA.
176         * eata.c: Update to version 2.0.  Fixed bug preventing media
177         detection.  If scsi_register_host returns NULL, fail gracefully.
179         * scsi.c: Detect as NEC (for photo-cd purposes) for the 84
180         and 25 models as "NEC_OLDCDR".
182         * scsi.h: Add define for NEC_OLDCDR
184         * sr.c: Add handling for NEC_OLDCDR.  Treat as unknown.
186         * u14-34f.c: Update to version 2.0.  Fixed same bug as in
187         eata.c.
190 Mon Mar  6 11:11:20 1995  Eric Youngdale  (eric@andante)
192         * Linux 1.2.0 released.  Yeah!!!
194         * Minor spelling/punctuation changes throughout.  Nothing
195         substantive.
197 Mon Feb 20 21:33:03 1995  Eric Youngdale  (eric@andante)
199         * Linux 1.1.95 released.
201         * qlogic.c: Update to version 0.41.
203         * seagate.c: Change some message to be more descriptive about what
204         we detected.
206         * sr.c: spelling/whitespace changes.
208 Mon Feb 20 21:33:03 1995  Eric Youngdale  (eric@andante)
210         * Linux 1.1.94 released.
212 Mon Feb 20 08:57:17 1995  Eric Youngdale  (eric@andante)
214         * Linux 1.1.93 released.
216         * hosts.h: Change io_port to long int from short.
218         * 53c7,8xx.c: crash on AEN fixed, SCSI reset is no longer a NOP,
219           NULL pointer panic on odd UDCs fixed, two bugs in diagnostic output
220           fixed, should initialize correctly if left running, now loadable,
221           new memory allocation, extraneous diagnostic output suppressed,
222           splx() replaced with save/restore flags. [ Drew ]
224         * hosts.c, hosts.h, scsi_ioctl.c, sd.c, sd_ioctl.c, sg.c, sr.c,
225         sr_ioctl.c: Add special junk at end that Emacs will use for
226         formatting the file.
228         * qlogic.c: Update to v0.40a.  Improve parity handling.
230         * scsi.c: Add Hitachi DK312C to blacklist.  Change "};" to "}" in
231         many places.  Use scsi_init_malloc to get command block - may
232         need this to be dma compatible for some host adapters.
233         Restore interrupts after unregistering a host.
235         * sd.c: Use sti instead of restore flags - causes latency problems.
237         * seagate.c: Use controller_type to determine string used when
238         registering irq.
240         * sr.c: More photo-cd hacks to make sure we get the xa stuff right.
241         * sr.h, sr.c: Change is_xa to xa_flags field.
243         * st.c: Disable retries for write operations.
245 Wed Feb 15 10:52:56 1995  Eric Youngdale  (eric@andante)
247         * Linux 1.1.92 released.
249         * eata.c: Update to 1.17.
251         * eata_dma.c: Update to 2.31a. Add more support for /proc/scsi.
252         Continuing modularization. Less crashes because of the bug in the
253         memory management ==> increase C_P_L_CURRENT_MAX to 10
254         and decrease C_P_L_DIV to 4.
256         * hosts.c: If we remove last host registered, reuse host number.
257         When freeing memory from host being deregistered, free extra_bytes
258         too.
260         * scsi.c (scan_scsis): memset(SDpnt, 0) and set SCmd.device to SDpnt.
261         Change memory allocation to work around bugs in __get_dma_pages.
262         Do not free host if usage count is not zero (for modules).
264         * sr_ioctl.c: Increase IOCTL_TIMEOUT to 3000.
266         * st.c: Allow for ST_EXTRA_DEVS in st data structures.
268         * u14-34f.c: Update to 1.17.
270 Thu Feb  9 10:11:16 1995  Eric Youngdale  (eric@andante)
272         * Linux 1.1.91 released.
274         * eata.c: Update to 1.16.  Use wish_block instead of host->block.
276         * hosts.c: Initialize wish_block to 0.
278         * hosts.h: Add wish_block.
280         * scsi.c: Use wish_block as indicator that the host should be added
281         to block list.
283         * sg.c: Add SG_EXTRA_DEVS to number of slots.
285         * u14-34f.c: Use wish_block.
287 Tue Feb  7 11:46:04 1995  Eric Youngdale  (eric@andante)
289         * Linux 1.1.90 released.
291         * eata.c: Change naming from eata_* to eata2x_*.  Now at vers 1.15.
292         Update interrupt handler to take pt_regs as arg.  Allow blocking
293         even if loaded as module.  Initialize target_time_out array.
294         Do not put sti(); in timing loop.
296         * hosts.c: Do not reuse host numbers.
297         Use scsi_make_blocked_list to generate blocking list.
299         * script_asm.pl:  Beats me.  Don't know perl.  Something to do with
300         phase index.
302         * scsi.c (scsi_make_blocked_list): New function - code copied from
303         hosts.c.
305         * scsi.c: Update code to disable photo CD for Toshiba cdroms.
306         Use just manufacturer name, not model number.
308         * sr.c: Fix setting density for Toshiba drives.
310         * u14-34f.c: Clear target_time_out array during reset.
312 Wed Feb  1 09:20:45 1995  Eric Youngdale  (eric@andante)
314         * Linux 1.1.89 released.
316         * Makefile, u14-34f.c: Modularize.
318         * Makefile, eata.c: Modularize.  Now version 1.14
320         * NCR5380.c: Update interrupt handler with new arglist.  Minor
321         cleanups.
323         * eata_dma.c: Begin to modularize.  Add hooks for /proc/scsi.
324         New version 2.3.0a. Add code in interrupt handler to allow
325         certain CDROM drivers to be detected which return a
326         CHECK_CONDITION during SCSI bus scan. Add opcode check to get
327         all DATA IN and DATA OUT phases right. Utilize HBA_interpret flag.
328         Improvements in HBA identification. Various other minor stuff.
330         * hosts.c: Initialize ->dma_channel and ->io_port when registering
331         a new host.
333         * qlogic.c: Modularize and add PCMCIA support.
335         * scsi.c: Add Hitachi to blacklist.
337         * scsi.c: Change default to no lun scan (too many problem devices).
339         * scsi.h: Define QUEUE_FULL condition.
341         * sd.c: Do not check for non-existent partition until after
342         new media check.
344         * sg.c: Undo previous change which was wrong.
346         * sr_ioctl.c: Increase IOCTL_TIMEOUT to 2000.
348         * st.c: Patches from Kai - improve filemark handling.
350 Tue Jan 31 17:32:12 1995  Eric Youngdale  (eric@andante)
352         * Linux 1.1.88 released.
354         * Throughout - spelling/grammar fixups.
356         * scsi.c: Make sure that all buffers are 16 byte aligned - some
357         drivers (buslogic) need this.
359         * scsi.c (scan_scsis): Remove message printed.
361         * scsi.c (scsi_init): Move message here.
363 Mon Jan 30 06:40:25 1995  Eric Youngdale  (eric@andante)
365         * Linux 1.1.87 released.
367         * sr.c: Photo-cd related changes. (Gerd Knorr??).
369         * st.c: Changes from Kai related to EOM detection.
371 Mon Jan 23 23:53:10 1995  Eric Youngdale  (eric@andante)
373         * Linux 1.1.86 released.
375         * 53c7,8xx.h: Change SG size to 127.
377         * eata_dma: Update to version 2.10i. Remove bug in the registration
378         of multiple HBAs and channels. Minor other improvements and stylistic
379         changes.
381         * scsi.c: Test for Toshiba XM-3401TA and exclude from detection
382         as toshiba drive - photo cd does not work with this drive.
384         * sr.c:  Update photocd code.
386 Mon Jan 23 23:53:10 1995  Eric Youngdale  (eric@andante)
388         * Linux 1.1.85 released.
390         * st.c, st_ioctl.c, sg.c, sd_ioctl.c, scsi_ioctl.c, hosts.c:
391         include linux/mm.h
393         * qlogic.c, buslogic.c, aha1542.c: Include linux/module.h.
395 Sun Jan 22 22:08:46 1995  Eric Youngdale  (eric@andante)
397         * Linux 1.1.84 released.
399         * Makefile: Support for loadable QLOGIC boards.
401         * aha152x.c: Update to version 1.8 from Juergen.
403         * eata_dma.c: Update from Michael Neuffer.
404         Remove hard limit of 2 commands per lun and make it better
405         configurable. Improvements in HBA identification.
407         * in2000.c: Fix biosparam to support large disks.
409         * qlogic.c: Minor changes (change sti -> restore_flags).
411 Wed Jan 18 23:33:09 1995  Eric Youngdale  (eric@andante)
413         * Linux 1.1.83 released.
415         * aha1542.c(aha1542_intr_handle): Use arguments handed down to find
416         which irq.
418         * buslogic.c: Likewise.
420         * eata_dma.c: Use min of 2 cmd_per_lun for OCS_enabled boards.
422         * scsi.c: Make RECOVERED_ERROR a SUGGEST_IS_OK.
424         * sd.c: Fail if we are opening a non-existent partition.
426         * sr.c: Bump SR_TIMEOUT to 15000.
427         Do not probe for media size at boot time(hard on changers).
428         Flag device as needing sector size instead.
430         * sr_ioctl.c: Remove CDROMMULTISESSION_SYS ioctl.
432         * ultrastor.c: Fix bug in call to ultrastor_interrupt (wrong #args).
434 Mon Jan 16 07:18:23 1995  Eric Youngdale  (eric@andante)
436         * Linux 1.1.82 released.
438         Throughout.
439         - Change all interrupt handlers to accept new calling convention.
440         In particular, we now receive the irq number as one of the arguments.
442         * More minor spelling corrections in some of the new files.
444         * aha1542.c, buslogic.c: Clean up interrupt handler a little now
445         that we receive the irq as an arg.
447         * aha274x.c: s/snarf_region/request_region/
449         * eata.c: Update to version 1.12.   Fix some comments and display a
450         message if we cannot reserve the port addresses.
452         * u14-34f.c: Update to version 1.13.   Fix some comments and display a
453         message if we cannot reserve the port addresses.
455         * eata_dma.c: Define get_board_data function (send INQUIRY command).
456         Use to improve detection of variants of different DPT boards.  Change
457         version subnumber to "0g".
459         * fdomain.c:  Update to version 5.26.  Improve detection of some boards
460         repackaged by IBM.
462         * scsi.c (scsi_register_host): Change "name" to const char *.
464         * sr.c: Fix problem in set mode command for Toshiba drives.
466         * sr.c: Fix typo from patch 81.
468 Fri Jan 13 12:54:46 1995  Eric Youngdale  (eric@andante)
470         * Linux 1.1.81 released.  Codefreeze for 1.2 release announced.
472         Big changes here.
474         * eata_dma.*: New files from Michael Neuffer.
475         (neuffer@goofy.zdv.uni-mainz.de).  Should support
476         all eata/dpt cards.
478         * hosts.c, Makefile: Add eata_dma.
480         * README.st: Document MTEOM.
482         Patches from me (ERY) to finish support for low-level loadable scsi.
483         It now works, and is actually useful.
485         * Throughout - add new argument to scsi_init_malloc that takes an
486         additional parameter.  This is used as a priority to kmalloc,
487         and you can specify the GFP_DMA flag if you need DMA-able memory.
489         * Makefile: For source files that are loadable, always add name
490         to SCSI_SRCS.  Fill in modules: target.
492         * hosts.c:  Change next_host to next_scsi_host, and make global.
493         Print hosts after we have identified all of them.  Use info()
494         function if present, otherwise use name field.
496         * hosts.h: Change attach function to return int, not void.
497         Define number of device slots to allow for loadable devices.
498         Define tags to tell scsi module code what type of module we
499         are loading.
501         * scsi.c: Fix scan_scsis so that it can be run by a user process.
502         Do not use waiting loops - use up and down mechanism as long
503         as current != task[0].
505         * scsi.c(scan_scsis): Do not use stack variables for I/O - this
506         could be > 16Mb if we are loading a module at runtime (i.e. use
507         scsi_init_malloc to get some memory we know will be safe).
509         * scsi.c: Change dma freelist to be a set of pages.  This allows
510         us to dynamically adjust the size of the list by adding more pages
511         to the pagelist.  Fix scsi_malloc and scsi_free accordingly.
513         * scsi_module.c: Fix include.
515         * sd.c: Declare detach function.  Increment/decrement module usage
516         count as required.  Fix init functions to allow loaded devices.
517         Revalidate all new disks so we get the partition tables.  Define
518         detach function.
520         * sr.c: Likewise.
522         * sg.c: Declare detach function.  Allow attachment of devices on
523         loaded drivers.
525         * st.c: Declare detach function.  Increment/decrement module usage
526         count as required.
528 Tue Jan 10 10:09:58 1995  Eric Youngdale  (eric@andante)
530         * Linux 1.1.79 released.
532         Patch from some undetermined individual who needs to get a life :-).
534         * sr.c: Attacked by spelling bee...
536         Patches from Gerd Knorr:
538         * sr.c: make printk messages for photoCD a little more informative.
540         * sr_ioctl.c: Fix CDROMMULTISESSION_SYS ioctl.
542 Mon Jan  9 10:01:37 1995  Eric Youngdale  (eric@andante)
544         * Linux 1.1.78 released.
546         * Makefile: Add empty modules: target.
548         * Wheee.  Now change register_iomem to request_region.
550         * in2000.c: Bugfix - apparently this is the fix that we have
551         all been waiting for.  It fixes a problem whereby the driver
552         is not stable under heavy load.  Race condition and all that.
553         Patch from Peter Lu.
555 Wed Jan  4 21:17:40 1995  Eric Youngdale  (eric@andante)
557         * Linux 1.1.77 released.
559         * 53c7,8xx.c: Fix from Linus - emulate splx.
561         Throughout:
563                 Change "snarf_region" with "register_iomem".
565         * scsi_module.c: New file.  Contains support for low-level loadable
566           scsi drivers. [ERY].
568         * sd.c: More s/int/long/ changes.
570         * seagate.c: Explicitly include linux/config.h
572         * sg.c: Increment/decrement module usage count on open/close.
574         * sg.c: Be a bit more careful about the user not supplying enough
575           information for a valid command.  Pass correct size down to
576           scsi_do_cmd.
578         * sr.c:  More changes for Photo-CD.  This apparently breaks NEC drives.
580         * sr_ioctl.c:  Support CDROMMULTISESSION ioctl.
583 Sun Jan  1 19:55:21 1995  Eric Youngdale  (eric@andante)
585         * Linux 1.1.76 released.
587         * constants.c: Add type cast in switch statement.
589         * scsi.c (scsi_free): Change datatype of "offset" to long.
590           (scsi_malloc): Change a few more variables to long.  Who
591           did this and why was it important?  64 bit machines?
594         Lots of changes to use save_state/restore_state instead of cli/sti.
595         Files changed include:
597         * aha1542.c:
598         * aha1740.c:
599         * buslogic.c:
600         * in2000.c:
601         * scsi.c:
602         * scsi_debug.c:
603         * sd.c:
604         * sr.c:
605         * st.c:
607 Wed Dec 28 16:38:29 1994  Eric Youngdale  (eric@andante)
609         * Linux 1.1.75 released.
611         * buslogic.c: Spelling fix.
613         * scsi.c: Add HP C1790A and C2500A scanjet to blacklist.
615         * scsi.c: Spelling fixup.
617         * sd.c: Add support for sd_hardsizes (hard sector sizes).
619         * ultrastor.c: Use save_flags/restore_flags instead of cli/sti.
621 Fri Dec 23 13:36:25 1994  Eric Youngdale  (eric@andante)
623         * Linux 1.1.74 released.
625         * README.st: Update from Kai Makisara.
627         * eata.c: New version from Dario - version 1.11.
628           use scsicam bios_param routine.  Add support for 2011
629           and 2021 boards.
631         * hosts.c: Add support for blocking.  Linked list automatically
632           generated when shpnt->block is set.
634         * scsi.c: Add sankyo & HP scanjet to blacklist.  Add support for
635           kicking things loose when we deadlock.
637         * scsi.c: Recognize scanners and processors in scan_scsis.
639         * scsi_ioctl.h: Increase timeout to 9 seconds.
641         * st.c: New version from Kai - add better support for backspace.
643         * u14-34f.c: New version from Dario.  Supports blocking.
645 Wed Dec 14 14:46:30 1994  Eric Youngdale  (eric@andante)
647         * Linux 1.1.73 released.
649         * buslogic.c: Update from Dave Gentzel.  Version 1.14.
650           Add module related stuff.   More fault tolerant if out of
651           DMA memory.
653         * fdomain.c: New version from Rik Faith - version 5.22.  Add support
654           for ISA-200S SCSI adapter.
656         * hosts.c: Spelling.
658         * qlogic.c: Update to version 0.38a.  Add more support for PCMCIA.
660         * scsi.c: Mask device type with 0x1f during scan_scsis.
661           Add support for deadlocking, err, make that getting out of
662           deadlock situations that are created when we allow the user
663           to limit requests to one host adapter at a time.
665         * scsi.c: Bugfix - pass pid, not SCpnt as second arg to
666           scsi_times_out.
668         * scsi.c: Restore interrupt state to previous value instead of using
669           cli/sti pairs.
671         * scsi.c: Add a bunch of module stuff (all commented out for now).
673         * scsi.c: Clean up scsi_dump_status.
675 Tue Dec  6 12:34:20 1994  Eric Youngdale  (eric@andante)
677         * Linux 1.1.72 released.
679         * sg.c: Bugfix - always use sg_free, since we might have big buff.
681 Fri Dec  2 11:24:53 1994  Eric Youngdale  (eric@andante)
683         * Linux 1.1.71 released.
685         * sg.c: Clear buff field when not in use.  Only call scsi_free if
686         non-null.
688         * scsi.h: Call wake_up(&wait_for_request) when done with a
689         command.
691         * scsi.c (scsi_times_out): Pass pid down so that we can protect
692         against race conditions.
694         * scsi.c (scsi_abort): Zero timeout field if we get the
695         NOT_RUNNING message back from low-level driver.
698         * scsi.c (scsi_done): Restore cmd_len, use_sg here.
700         * scsi.c (request_sense): Not here.
702         * hosts.h: Add new forbidden_addr, forbidden_size fields.  Who
703         added these and why????
705         * hosts.c (scsi_mem_init): Mark pages as reserved if they fall in
706         the forbidden regions.  I am not sure - I think this is so that
707         we can deal with boards that do incomplete decoding of their
708         address lines for the bios chips, but I am not entirely sure.
710         * buslogic.c: Set forbidden_addr stuff if using a buggy board.
712         * aha1740.c: Test for NULL pointer in SCtmp.  This should not
713         occur, but a nice message is better than a kernel segfault.
715         * 53c7,8xx.c: Add new PCI chip ID for 815.
717 Fri Dec  2 11:24:53 1994  Eric Youngdale  (eric@andante)
719         * Linux 1.1.70 released.
721         * ChangeLog, st.c: Spelling.
723 Tue Nov 29 18:48:42 1994  Eric Youngdale  (eric@andante)
725         * Linux 1.1.69 released.
727         * u14-34f.h: Non-functional change.  [Dario].
729         * u14-34f.c: Use block field in Scsi_Host to prevent commands from
730         being queued to more than one host at the same time (used when
731         motherboard does not deal with multiple bus-masters very well).
732         Only when SINGLE_HOST_OPERATIONS is defined.
733         Use new cmd_per_lun field.  [Dario]
735         * eata.c: Likewise.
737         * st.c: More changes from Kai.  Add ready flag to indicate drive
738         status.
740         * README.st: Document this.
742         * sr.c: Bugfix (do not subtract CD_BLOCK_OFFSET) for photo-cd
743         code.
745         * sg.c: Bugfix - fix problem where opcode is not correctly set up.
747         * seagate.[c,h]: Use #defines to set driver name.
749         * scsi_ioctl.c: Zero buffer before executing command.
751         * scsi.c: Use new cmd_per_lun field in Scsi_Hosts as appropriate.
752         Add Sony CDU55S to blacklist.
754         * hosts.h: Add new cmd_per_lun field to Scsi_Hosts.
756         * hosts.c: Initialize cmd_per_lun in Scsi_Hosts from template.
758         * buslogic.c: Use cmd_per_lun field - initialize to different
759         values depending upon bus type (i.e. use 1 if ISA, so we do not
760         hog memory).  Use other patches which got lost from 1.1.68.
762         * aha1542.c: Spelling.
764 Tue Nov 29 15:43:50 1994  Eric Youngdale  (eric@andante.aib.com)
766         * Linux 1.1.68 released.
768         Add support for 12 byte vendor specific commands in scsi-generics,
769         more (i.e. the last mandatory) low-level changes to support
770         loadable modules, plus a few other changes people have requested
771         lately.  Changes by me (ERY) unless otherwise noted.  Spelling
772         changes appear from some unknown corner of the universe.
774         * Throughout: Change COMMAND_SIZE() to use SCpnt->cmd_len.
776         * Throughout: Change info() low level function to take a Scsi_Host
777         pointer.  This way the info function can return specific
778         information about the host in question, if desired.
780         * All low-level drivers: Add NULL in initializer for the
781         usage_count field added to Scsi_Host_Template.
783         * aha152x.[c,h]: Remove redundant info() function.
785         * aha1542.[c,h]: Likewise.
787         * aha1740.[c,h]: Likewise.
789         * aha274x.[c,h]: Likewise.
791         * eata.[c,h]: Likewise.
793         * pas16.[c,h]: Likewise.
795         * scsi_debug.[c,h]: Likewise.
797         * t128.[c,h]: Likewise.
799         * u14-34f.[c,h]: Likewise.
801         * ultrastor.[c,h]: Likewise.
803         * wd7000.[c,h]: Likewise.
805         * aha1542.c: Add support for command line options with lilo to set
806         DMA parameters, I/O port.  From Matt Aarnio.
808         * buslogic.[c,h]: New version (1.13) from Dave Gentzel.
810         * hosts.h: Add new field to Scsi_Hosts "block" to allow blocking
811         all I/O to certain other cards.  Helps prevent problems with some
812         ISA motherboards.
814         * hosts.h: Add usage_count to Scsi_Host_Template.
816         * hosts.h: Add n_io_port to Scsi_Host (used when releasing module).
818         * hosts.c: Initialize block field.
820         * in2000.c: Remove "static" declarations from exported functions.
822         * in2000.h: Likewise.
824         * scsi.c: Correctly set cmd_len field as required.  Save and
825         change setting when doing a request_sense, restore when done.
826         Move abort timeout message.  Fix panic in request_queueable to
827         print correct function name.
829         * scsi.c: When incrementing usage count, walk block linked list
830         for host, and or in SCSI_HOST_BLOCK bit.  When decrementing usage
831         count to 0, clear this bit to allow usage to continue, wake up
832         processes waiting.
835         * scsi_ioctl.c: If we have an info() function, call it, otherwise
836         if we have a "name" field, use it, else do nothing.
838         * sd.c, sr.c: Clear cmd_len field prior to each command we
839         generate.
841         * sd.h: Add "has_part_table" bit to rscsi_disks.
843         * sg.[c,h]: Add support for vendor specific 12 byte commands (i.e.
844         override command length in COMMAND_SIZE).
846         * sr.c: Bugfix from Gerd in photocd code.
848         * sr.c: Bugfix in get_sectorsize - always use scsi_malloc buffer -
849         we cannot guarantee that the stack is < 16Mb.
851 Tue Nov 22 15:40:46 1994  Eric Youngdale  (eric@andante.aib.com)
853         * Linux 1.1.67 released.
855         * sr.c: Change spelling of manufactor to manufacturer.
857         * scsi.h: Likewise.
859         * scsi.c: Likewise.
861         * qlogic.c: Spelling corrections.
863         * in2000.h: Spelling corrections.
865         * in2000.c: Update from Bill Earnest, change from
866         jshiffle@netcom.com.  Support new bios versions.
868         * README.qlogic: Spelling correction.
870 Tue Nov 22 15:40:46 1994  Eric Youngdale  (eric@andante.aib.com)
872         * Linux 1.1.66 released.
874         * u14-34f.c: Spelling corrections.
876         * sr.[h,c]: Add support for multi-session CDs from Gerd Knorr.
878         * scsi.h: Add manufactor field for keeping track of device
879         manufacturer.
881         * scsi.c: More spelling corrections.
883         * qlogic.h, qlogic.c, README.qlogic: New driver from Tom Zerucha.
885         * in2000.c, in2000.h: New driver from Brad McLean/Bill Earnest.
887         * fdomain.c: Spelling correction.
889         * eata.c: Spelling correction.
891 Fri Nov 18 15:22:44 1994  Eric Youngdale  (eric@andante.aib.com)
893         * Linux 1.1.65 released.
895         * eata.h: Update version string to 1.08.00.
897         * eata.c: Set sg_tablesize correctly for DPT PM2012 boards.
899         * aha274x.seq: Spell checking.
901         * README.st: Likewise.
903         * README.aha274x: Likewise.
905         * ChangeLog: Likewise.
907 Tue Nov 15 15:35:08 1994  Eric Youngdale  (eric@andante.aib.com)
909         * Linux 1.1.64 released.
911         * u14-34f.h: Update version number to 1.10.01.
913         * u14-34f.c: Use Scsi_Host can_queue variable instead of one from template.
915         * eata.[c,h]: New driver for DPT boards from Dario Ballabio.
917         * buslogic.c: Use can_queue field.
919 Wed Nov 30 12:09:09 1994  Eric Youngdale  (eric@andante.aib.com)
921         * Linux 1.1.63 released.
923         * sd.c: Give I/O error if we attempt 512 byte I/O to a disk with
924         1024 byte sectors.
926         * scsicam.c: Make sure we do read from whole disk (mask off
927         partition).
929         * scsi.c: Use can_queue in Scsi_Host structure.
930         Fix panic message about invalid host.
932         * hosts.c: Initialize can_queue from template.
934         * hosts.h: Add can_queue to Scsi_Host structure.
936         * aha1740.c: Print out warning about NULL ecbptr.
938 Fri Nov  4 12:40:30 1994  Eric Youngdale  (eric@andante.aib.com)
940         * Linux 1.1.62 released.
942         * fdomain.c: Update to version 5.20. (From Rik Faith).  Support
943         BIOS version 3.5.
945         * st.h: Add ST_EOD symbol.
947         * st.c: Patches from Kai Makisara - support additional densities,
948         add support for MTFSS, MTBSS, MTWSM commands.
950         * README.st: Update to document new commands.
952         * scsi.c: Add Mediavision CDR-H93MV to blacklist.
954 Sat Oct 29 20:57:36 1994  Eric Youngdale  (eric@andante.aib.com)
956         * Linux 1.1.60 released.
958         * u14-34f.[c,h]: New driver from Dario Ballabio.
960         * aic7770.c, aha274x_seq.h, aha274x.seq, aha274x.h, aha274x.c,
961         README.aha274x: New files, new driver from John Aycock.
964 Tue Oct 11 08:47:39 1994  Eric Youngdale  (eric@andante)
966         * Linux 1.1.54 released.
968         * Add third PCI chip id.  [Drew]
970         * buslogic.c: Set BUSLOGIC_CMDLUN back to 1 [Eric].
972         * ultrastor.c: Fix asm directives for new GCC.
974         * sr.c, sd.c: Use new end_scsi_request function.
976         * scsi.h(end_scsi_request): Return pointer to block if still
977         active, else return NULL if inactive.  Fixes race condition.
979 Sun Oct  9 20:23:14 1994  Eric Youngdale  (eric@andante)
981         * Linux 1.1.53 released.
983         * scsi.c: Do not allocate dma bounce buffers if we have exactly
984         16Mb.
986 Fri Sep  9 05:35:30 1994  Eric Youngdale  (eric@andante)
988         * Linux 1.1.51 released.
990         * aha152x.c: Add support for disabling the parity check.  Update
991         to version 1.4. [Juergen].
993         * seagate.c: Tweak debugging message.
995 Wed Aug 31 10:15:55 1994  Eric Youngdale  (eric@andante)
997         * Linux 1.1.50 released.
999         * aha152x.c: Add eb800 for Vtech Platinum SMP boards. [Juergen].
1001         * scsi.c: Add Quantum PD1225S to blacklist.
1003 Fri Aug 26 09:38:45 1994  Eric Youngdale  (eric@andante)
1005         * Linux 1.1.49 released.
1007         * sd.c: Fix bug when we were deleting the wrong entry if we
1008         get an unsupported sector size device.
1010         * sr.c: Another spelling patch.
1012 Thu Aug 25 09:15:27 1994  Eric Youngdale  (eric@andante)
1014         * Linux 1.1.48 released.
1016         * Throughout: Use new semantics for request_dma, as appropriate.
1018         * sr.c: Print correct device number.
1020 Sun Aug 21 17:49:23 1994  Eric Youngdale  (eric@andante)
1022         * Linux 1.1.47 released.
1024         * NCR5380.c: Add support for LIMIT_TRANSFERSIZE.
1026         * constants.h: Add prototype for print_Scsi_Cmnd.
1028         * pas16.c: Some more minor tweaks.  Test for Mediavision board.
1029         Allow for disks > 1Gb.  [Drew??]
1031         * sr.c: Set SCpnt->transfersize.
1033 Tue Aug 16 17:29:35 1994  Eric Youngdale  (eric@andante)
1035         * Linux 1.1.46 released.
1037         * Throughout: More spelling fixups.
1039         * buslogic.c: Add a few more fixups from Dave.  Disk translation
1040         mainly.
1042         * pas16.c: Add a few patches (Drew?).
1045 Thu Aug 11 20:45:15 1994  Eric Youngdale  (eric@andante)
1047         * Linux 1.1.44 released.
1049         * hosts.c: Add type casts for scsi_init_malloc.
1051         * scsicam.c: Add type cast.
1053 Wed Aug 10 19:23:01 1994  Eric Youngdale  (eric@andante)
1055         * Linux 1.1.43 released.
1057         * Throughout: Spelling cleanups. [??]
1059         * aha152x.c, NCR53*.c, fdomain.c, g_NCR5380.c, pas16.c, seagate.c,
1060          t128.c: Use request_irq, not irqaction. [??]
1062         * aha1542.c: Move test for shost before we start to use shost.
1064         * aha1542.c, aha1740.c, ultrastor.c, wd7000.c: Use new
1065         calling sequence for request_irq.
1067         * buslogic.c: Update from Dave Gentzel.
1069 Tue Aug  9 09:32:59 1994  Eric Youngdale  (eric@andante)
1071         * Linux 1.1.42 released.
1073         * NCR5380.c: Change NCR5380_print_status to static.
1075         * seagate.c: A few more bugfixes.  Only Drew knows what they are
1076         for.
1078         * ultrastor.c: Tweak some __asm__ directives so that it works
1079         with newer compilers. [??]
1081 Sat Aug  6 21:29:36 1994  Eric Youngdale  (eric@andante)
1083         * Linux 1.1.40 released.
1085         * NCR5380.c: Return SCSI_RESET_WAKEUP from reset function.
1087         * aha1542.c: Reset mailbox status after a bus device reset.
1089         * constants.c: Fix typo (;;).
1091         * g_NCR5380.c:
1092         * pas16.c:  Correct usage of NCR5380_init.
1094         * scsi.c: Remove redundant (and unused variables).
1096         * sd.c: Use memset to clear all of rscsi_disks before we use it.
1098         * sg.c: Ditto, except for scsi_generics.
1100         * sr.c: Ditto, except for scsi_CDs.
1102         * st.c: Initialize STp->device.
1104         * seagate.c: Fix bug. [Drew]
1106 Thu Aug  4 08:47:27 1994  Eric Youngdale  (eric@andante)
1108         * Linux 1.1.39 released.
1110         * Makefile: Fix typo in NCR53C7xx.
1112         * st.c: Print correct number for device.
1114 Tue Aug  2 11:29:14 1994  Eric Youngdale  (eric@esp22)
1116         * Linux 1.1.38 released.
1118         Lots of changes in 1.1.38.  All from Drew unless otherwise noted.
1120         * 53c7,8xx.c: New file from Drew.  PCI driver.
1122         * 53c7,8xx.h: Likewise.
1124         * 53c7,8xx.scr: Likewise.
1126         * 53c8xx_d.h, 53c8xx_u.h, script_asm.pl: Likewise.
1128         * scsicam.c: New file from Drew.  Read block 0 on the disk and
1129         read the partition table.  Attempt to deduce the geometry from
1130         the partition table if possible.  Only used by 53c[7,8]xx right
1131         now, but could be used by any device for which we have no way
1132         of identifying the geometry.
1134         * sd.c: Use device letters instead of sd%d in a lot of messages.
1136         * seagate.c: Fix bug that resulted in lockups with some devices.
1138         * sr.c (sr_open): Return -EROFS, not -EACCES if we attempt to open
1139         device for write.
1141         * hosts.c, Makefile: Update for new driver.
1143         * NCR5380.c, NCR5380.h, g_NCR5380.h: Update from Drew to support
1144         53C400 chip.
1146         * constants.c: Define CONST_CMND and CONST_MSG.  Other minor
1147         cleanups along the way.  Improve handling of CONST_MSG.
1149         * fdomain.c, fdomain.h: New version from Rik Faith.  Update to
1150         5.18.  Should now support TMC-3260 PCI card with 18C30 chip.
1152         * pas16.c: Update with new irq initialization.
1154         * t128.c: Update with minor cleanups.
1156         * scsi.c (scsi_pid): New variable - gives each command a unique
1157         id. Add Quantum LPS5235S to blacklist.  Change in_scan to
1158         in_scan_scsis and make global.
1160         * scsi.h: Add some defines for extended message handling,
1161         INITIATE/RELEASE_RECOVERY.  Add a few new fields to support sync
1162         transfers.
1164         * scsi_ioctl.h: Add ioctl to request synchronous transfers.
1167 Tue Jul 26 21:36:58 1994  Eric Youngdale  (eric@esp22)
1169         * Linux 1.1.37 released.
1171         * aha1542.c: Always call aha1542_mbenable, use new udelay
1172         mechanism so we do not wait a long time if the board does not
1173         implement this command.
1175         * g_NCR5380.c: Remove #include <linux/config.h> and #if
1176         defined(CONFIG_SCSI_*).
1178         * seagate.c: Likewise.
1180         Next round of changes to support loadable modules.  Getting closer
1181         now, still not possible to do anything remotely usable.
1183         hosts.c: Create a linked list of detected high level devices.
1184         (scsi_register_device): New function to insert into this list.
1185         (scsi_init): Call scsi_register_device for each of the known high
1186         level drivers.
1188         hosts.h: Add prototype for linked list header.  Add structure
1189         definition for device template structure which defines the linked
1190         list.
1192         scsi.c: (scan_scsis): Use linked list instead of knowledge about
1193         existing high level device drivers.
1194         (scsi_dev_init): Use init functions for drivers on linked list
1195         instead of explicit list to initialize and attach devices to high
1196         level drivers.
1198         scsi.h: Add new field "attached" to scsi_device - count of number
1199         of high level devices attached.
1201         sd.c, sr.c, sg.c, st.c: Adjust init/attach functions to use new
1202         scheme.
1204 Sat Jul 23 13:03:17 1994  Eric Youngdale  (eric@esp22)
1206         * Linux 1.1.35 released.
1208         * ultrastor.c: Change constraint on asm() operand so that it works
1209         with gcc 2.6.0.
1211 Thu Jul 21 10:37:39 1994  Eric Youngdale  (eric@esp22)
1213         * Linux 1.1.33 released.
1215         * sr.c(sr_open): Do not allow opens with write access.
1217 Mon Jul 18 09:51:22 1994  Eric Youngdale  (eric@esp22)
1219         * Linux 1.1.31 released.
1221         * sd.c: Increase SD_TIMEOUT from 300 to 600.
1223         * sr.c: Remove stray task_struct* variable that was no longer
1224         used.
1226         * sr_ioctl.c: Fix typo in up() call.
1228 Sun Jul 17 16:25:29 1994  Eric Youngdale  (eric@esp22)
1230         * Linux 1.1.30 released.
1232         * scsi.c (scan_scsis): Fix detection of some Toshiba CDROM drives
1233         that report themselves as disk drives.
1235         * (Throughout): Use request.sem instead of request.waiting.
1236         Should fix swap problem with fdomain.
1238 Thu Jul 14 10:51:42 1994  Eric Youngdale  (eric@esp22)
1240         * Linux 1.1.29 released.
1242         * scsi.c (scan_scsis): Add new devices to end of linked list, not
1243         to the beginning.
1245         * scsi.h (SCSI_SLEEP): Remove brain dead hack to try to save
1246         the task state before sleeping.
1248 Sat Jul  9 15:01:03 1994  Eric Youngdale  (eric@esp22)
1250         More changes to eventually support loadable modules.  Mainly
1251         we want to use linked lists instead of arrays because it is easier
1252         to dynamically add and remove things this way.
1254         Quite a bit more work is needed before loadable modules are
1255         possible (and usable) with scsi, but this is most of the grunge
1256         work.
1258         * Linux 1.1.28 released.
1260         * scsi.c, scsi.h (allocate_device, request_queueable): Change
1261         argument from index into scsi_devices to a pointer to the
1262         Scsi_Device struct.
1264         * Throughout: Change all calls to allocate_device,
1265         request_queueable to use new calling sequence.
1267         * Throughout: Use SCpnt->device instead of
1268         scsi_devices[SCpnt->index].  Ugh - the pointer was there all along
1269         - much cleaner this way.
1271         * scsi.c (scsi_init_malloc, scsi_free_malloc): New functions -
1272         allow us to pretend that we have a working malloc when we
1273         initialize.  Use this instead of passing memory_start, memory_end
1274         around all over the place.
1276         * scsi.h, st.c, sr.c, sd.c, sg.c: Change *_init1 functions to use
1277         scsi_init_malloc, remove all arguments, no return value.
1279         * scsi.h: Remove index field from Scsi_Device and Scsi_Cmnd
1280         structs.
1282         * scsi.c (scsi_dev_init): Set up for scsi_init_malloc.
1283         (scan_scsis): Get SDpnt from scsi_init_malloc, and refresh
1284         when we discover a device.  Free pointer before returning.
1285         Change scsi_devices into a linked list.
1287         * scsi.c (scan_scsis): Change to only scan one host.
1288         (scsi_dev_init): Loop over all detected hosts, and scan them.
1290         * hosts.c  (scsi_init_free): Change so that  number of extra bytes
1291         is stored in struct, and we do not have to pass it each time.
1293         * hosts.h: Change Scsi_Host_Template struct to include "next" and
1294         "release" functions.  Initialize to NULL in all low level
1295         adapters.
1297         * hosts.c: Rename scsi_hosts to builtin_scsi_hosts, create linked
1298         list scsi_hosts, linked together with the new "next" field.
1300 Wed Jul  6 05:45:02 1994  Eric Youngdale  (eric@esp22)
1302         * Linux 1.1.25 released.
1304         * aha152x.c: Changes from Juergen - cleanups and updates.
1306         * sd.c, sr.c: Use new check_media_change and revalidate
1307         file_operations fields.
1309         * st.c, st.h: Add changes from Kai Makisara, dated Jun 22.
1311         * hosts.h: Change SG_ALL back to 0xff.  Apparently soft error
1312         in /dev/brain resulted in having this bumped up.
1313         Change first parameter in bios_param function to be Disk * instead
1314         of index into rscsi_disks.
1316         * sd_ioctl.c: Pass pointer to rscsi_disks element instead of index
1317         to array.
1319         * sd.h: Add struct name "scsi_disk" to typedef for Scsi_Disk.
1321         * scsi.c: Remove redundant Maxtor XT8760S from blacklist.
1322         In scsi_reset, add printk when DEBUG defined.
1324         * All low level drivers: Modify definitions of bios_param in
1325         appropriate way.
1327 Thu Jun 16 10:31:59 1994  Eric Youngdale  (eric@esp22)
1329         * Linux 1.1.20 released.
1331         * scsi_ioctl.c: Only pass down the actual number of characters
1332         required to scsi_do_cmd, not the one rounded up to a even number
1333         of sectors.
1335         * ultrastor.c: Changes from Caleb Epstein for 24f cards.  Support
1336         larger SG lists.
1338         * ultrastor.c: Changes from me - use scsi_register to register
1339         host.  Add some consistency checking,
1341 Wed Jun  1 21:12:13 1994  Eric Youngdale  (eric@esp22)
1343         * Linux 1.1.19 released.
1345         * scsi.h: Add new return code for reset() function:
1346         SCSI_RESET_PUNT.
1348         * scsi.c: Make SCSI_RESET_PUNT the same as SCSI_RESET_WAKEUP for
1349         now.
1351         * aha1542.c: If the command responsible for the reset is not
1352         pending, return SCSI_RESET_PUNT.
1354         * aha1740.c, buslogic.c, wd7000.c, ultrastor.c: Return
1355         SCSI_RESET_PUNT instead of SCSI_RESET_SNOOZE.
1357 Tue May 31 19:36:01 1994  Eric Youngdale  (eric@esp22)
1359         * buslogic.c: Do not print out message about "must be Adaptec"
1360         if we have detected a buslogic card.  Print out a warning message
1361         if we are configuring for >16Mb, since the 445S at board level
1362         D or earlier does not work right.  The "D" level board can be made
1363         to work by flipping an undocumented switch, but this is too subtle.
1365     Changes based upon patches in Yggdrasil distribution.
1367         * sg.c, sg.h: Return sense data to user.
1369         * aha1542.c, aha1740.c, buslogic.c: Do not panic if
1370         sense buffer is wrong size.
1372         * hosts.c: Test for ultrastor card before any of the others.
1374         * scsi.c: Allow boot-time option for max_scsi_luns=? so that
1375         buggy firmware has an easy work-around.
1377 Sun May 15 20:24:34 1994  Eric Youngdale  (eric@esp22)
1379         * Linux 1.1.15 released.
1381         Post-codefreeze thaw...
1383         * buslogic.[c,h]: New driver from David Gentzel.
1385         * hosts.h: Add use_clustering field to explicitly say whether
1386         clustering should be used for devices attached to this host
1387         adapter.  The buslogic board apparently supports large SG lists,
1388         but it is apparently faster if sd.c condenses this into a smaller
1389         list.
1391         * sd.c: Use this field instead of heuristic.
1393         * All host adapter include files: Add appropriate initializer for
1394         use_clustering field.
1396         * scsi.h: Add #defines for return codes for the abort and reset
1397         functions.  There are now a specific set of return codes to fully
1398         specify all of the possible things that the low-level adapter
1399         could do.
1401         * scsi.c: Act based upon return codes from abort/reset functions.
1403         * All host adapter abort/reset functions: Return new return code.
1405         * Add code in scsi.c to help debug timeouts.  Use #define
1406         DEBUG_TIMEOUT to enable this.
1408         * scsi.c: If the host->irq field is set, use
1409         disable_irq/enable_irq before calling queuecommand if we
1410         are not already in an interrupt.  Reduce races, and we
1411         can be sloppier about cli/sti in the interrupt routines now
1412         (reduce interrupt latency).
1414         * constants.c: Fix some things to eliminate warnings.  Add some
1415         sense descriptions that were omitted before.
1417         * aha1542.c: Watch for SCRD from host adapter - if we see it, set
1418         a flag.  Currently we only print out the number of pending
1419         commands that might need to be restarted.
1421         * aha1542.c (aha1542_abort): Look for lost interrupts, OGMB still
1422         full, and attempt to recover.  Otherwise give up.
1424         * aha1542.c (aha1542_reset): Try BUS DEVICE RESET, and then pass
1425         DID_RESET back up to the upper level code for all commands running
1426         on this target (even on different LUNs).
1428 Sat May  7 14:54:01 1994
1430         * Linux 1.1.12 released.
1432         * st.c, st.h: New version from Kai.  Supports boot time
1433         specification of number of buffers.
1435         * wd7000.[c,h]: Updated driver from John Boyd.  Now supports
1436         more than one wd7000 board in machine at one time, among other things.
1438 Wed Apr 20 22:20:35 1994
1440         * Linux 1.1.8 released.
1442         * sd.c: Add a few type casts where scsi_malloc is called.
1444 Wed Apr 13 12:53:29 1994
1446         * Linux 1.1.4 released.
1448         * scsi.c: Clean up a few printks (use %p to print pointers).
1450 Wed Apr 13 11:33:02 1994
1452         * Linux 1.1.3 released.
1454         * fdomain.c: Update to version 5.16 (Handle different FIFO sizes
1455         better).
1457 Fri Apr  8 08:57:19 1994
1459         * Linux 1.1.2 released.
1461         * Throughout: SCSI portion of cluster diffs added.
1463 Tue Apr  5 07:41:50 1994
1465         * Linux 1.1 development tree initiated.
1467         * The linux 1.0 development tree is now effectively frozen except
1468         for obvious bugfixes.
1470 ******************************************************************
1471 ******************************************************************
1472 ******************************************************************
1473 ******************************************************************
1475 Sun Apr 17 00:17:39 1994
1477         * Linux 1.0, patchlevel 9 released.
1479         * fdomain.c: Update to version 5.16 (Handle different FIFO sizes
1480         better).
1482 Thu Apr  7 08:36:20 1994
1484         * Linux 1.0, patchlevel8 released.
1486         * fdomain.c: Update to version 5.15 from 5.9.  Handles 3.4 bios.
1488 Sun Apr  3 14:43:03 1994
1490         * Linux 1.0, patchlevel6 released.
1492         * wd7000.c: Make stab at fixing race condition.
1494 Sat Mar 26 14:14:50 1994
1496         * Linux 1.0, patchlevel5 released.
1498         * aha152x.c, Makefile: Fix a few bugs (too much data message).
1499         Add a few more bios signatures. (Patches from Juergen).
1501         * aha1542.c: Fix race condition in aha1542_out.
1503 Mon Mar 21 16:36:20 1994
1505         * Linux 1.0, patchlevel3 released.
1507         * sd.c, st.c, sr.c, sg.c: Return -ENXIO, not -ENODEV if we attempt
1508         to open a non-existent device.
1510         * scsi.c: Add Chinon cdrom to blacklist.
1512         * sr_ioctl.c: Check return status of verify_area.
1514 Sat Mar  6 16:06:19 1994
1516         * Linux 1.0 released (technically a pre-release).
1518         * scsi.c: Add IMS CDD521, Maxtor XT-8760S to blacklist.
1520 Tue Feb 15 10:58:20 1994
1522         * pl15e released.
1524         * aha1542.c: For 1542C, allow dynamic device scan with >1Gb turned
1525         off.
1527         * constants.c: Fix typo in definition of CONSTANTS.
1529         * pl15d released.
1531 Fri Feb 11 10:10:16 1994
1533         * pl15c released.
1535         * scsi.c: Add Maxtor XT-3280 and Rodime RO3000S to blacklist.
1537         * scsi.c: Allow tagged queueing for scsi 3 devices as well.
1538         Some really old devices report a version number of 0.  Disallow
1539         LUN != 0 for these.
1541 Thu Feb 10 09:48:57 1994
1543         * pl15b released.
1545 Sun Feb  6 12:19:46 1994
1547         * pl15a released.
1549 Fri Feb  4 09:02:17 1994
1551         * scsi.c: Add Teac cdrom to blacklist.
1553 Thu Feb  3 14:16:43 1994
1555         * pl15 released.
1557 Tue Feb  1 15:47:43 1994
1559         * pl14w released.
1561         * wd7000.c (wd_bases): Fix typo in last change.
1563 Mon Jan 24 17:37:23 1994
1565         * pl14u released.
1567         * aha1542.c: Support 1542CF/extended bios.  Different from 1542C
1569         * wd7000.c: Allow bios at 0xd8000 as well.
1571         * ultrastor.c: Do not truncate cylinders to 1024.
1573         * fdomain.c: Update to version 5.9 (add new bios signature).
1575         * NCR5380.c: Update from Drew - should work a lot better now.
1577 Sat Jan  8 15:13:10 1994
1579         * pl14o released.
1581         * sr_ioctl.c: Zero reserved field before trying to set audio volume.
1583 Wed Jan  5 13:21:10 1994
1585         * pl14m released.
1587         * fdomain.c: Update to version 5.8.  No functional difference???
1589 Tue Jan  4 14:26:13 1994
1591         * pl14l released.
1593         * ultrastor.c: Remove outl, inl functions (now provided elsewhere).
1595 Mon Jan  3 12:27:25 1994
1597         * pl14k released.
1599         * aha152x.c: Remove insw and outsw functions.
1601         * fdomain.c: Ditto.
1603 Wed Dec 29 09:47:20 1993
1605         * pl14i released.
1607         * scsi.c: Support RECOVERED_ERROR for tape drives.
1609         * st.c: Update of tape driver from Kai.
1611 Tue Dec 21 09:18:30 1993
1613         * pl14g released.
1615         * aha1542.[c,h]: Support extended BIOS stuff.
1617         * scsi.c: Clean up messages about disks, so they are displayed as
1618         sda, sdb, etc instead of sd0, sd1, etc.
1620         * sr.c:  Force reread of capacity if disk was changed.
1621         Clear buffer before asking for capacity/sectorsize (some drives
1622         do not report this properly).  Set needs_sector_size flag if
1623         drive did not return sensible sector size.
1625 Mon Dec 13 12:13:47 1993
1627         * aha152x.c: Update to version .101 from Juergen.
1629 Mon Nov 29 03:03:00 1993
1631         * linux 0.99.14 released.
1633         * All scsi stuff moved from kernel/blk_drv/scsi to drivers/scsi.
1635         * Throughout: Grammatical corrections to various comments.
1637         * Makefile: fix so that we do not need to compile things we are
1638         not going to use.
1640         * NCR5380.c, NCR5380.h, g_NCR5380.c, g_NCR5380.h, pas16.c,
1641         pas16.h, t128.c, t128.h:  New files from Drew.
1643         * aha152x.c, aha152x.h: New files from Juergen Fischer.
1645         * aha1542.c: Support for more than one 1542 in the machine
1646         at the same time.  Make functions static that do not need
1647         visibility.
1649         * aha1740.c: Set NEEDS_JUMPSTART flag in reset function, so we
1650         know to restart the command.  Change prototype of aha1740_reset
1651         to take a command pointer.
1653         * constants.c: Clean up a few things.
1655         * fdomain.c: Update to version 5.6.  Move snarf_region.  Allow
1656         board to be set at different SCSI ids.  Remove support for
1657         reselection (did not work well).  Set JUMPSTART flag in reset
1658         code.
1660         * hosts.c: Support new low-level adapters.  Allow for more than
1661         one adapter of a given type.
1663         * hosts.h: Allow for more than one adapter of a given type.
1665         * scsi.c:  Add scsi_device_types array, if NEEDS_JUMPSTART is set
1666         after a low-level reset, start the command again.  Sort blacklist,
1667         and add Maxtor MXT-1240S, XT-4170S, NEC CDROM 84, Seagate ST157N.
1669         * scsi.h: Add constants for tagged queueing.
1671         * Throughout: Use constants from major.h instead of hardcoded
1672         numbers for major numbers.
1674         * scsi_ioctl.c: Fix bug in buffer length in ioctl_command.  Use
1675         verify_area in GET_IDLUN ioctl.  Add new ioctls for
1676         TAGGED_QUEUE_ENABLE, DISABLE.  Only allow IOCTL_SEND_COMMAND by
1677         superuser.
1679         * sd.c: Only pay attention to UNIT_ATTENTION for removable disks.
1680         Fix bug where sometimes portions of blocks would get lost
1681         resulting in processes hanging.  Add messages when we spin up a
1682         disk, and fix a bug in the timing.  Increase read-ahead for disks
1683         that are on a scatter-gather capable host adapter.
1685         * seagate.c: Fix so that some parameters can be set from the lilo
1686         prompt.  Supply jumpstart flag if we are resetting and need the
1687         command restarted.   Fix so that we return 1 if we detect a card
1688         so that multiple card detection works correctly.  Add yet another
1689         signature for FD cards (950).  Add another signature for ST0x.
1691         * sg.c, sg.h: New files from Lawrence Foard for generic scsi
1692         access.
1694         * sr.c:  Add type casts for (void*) so that we can do pointer
1695         arithmetic.  Works with GCC without this, but it is not strictly
1696         correct.  Same bugfix as was in sd.c.  Increase read-ahead a la
1697         disk driver.
1699         * sr_ioctl.c: Use scsi_malloc buffer instead of buffer from stack
1700         since we cannot guarantee that the stack is < 16Mb.
1702         ultrastor.c: Update to support 24f properly (JFC's driver).
1704         wd7000.c: Supply jumpstart flag for reset.  Do not round up
1705         number of cylinders in biosparam function.
1707 Sat Sep  4 20:49:56 1993
1709     * 0.99pl13 released.
1711     * Throughout:  Use check_region/snarf_region for all low-level
1712     drivers.
1714     * aha1542.c: Do hard reset instead of soft (some ethercard probes
1715     screw us up).
1717     * scsi.c: Add new flag ASKED_FOR_SENSE so that we can tell if we are
1718     in a loop whereby the device returns null sense data.
1720     * sd.c: Add code to spin up a drive if it is not already spinning.
1721     Do this one at a time to make it easier on power supplies.
1723     * sd_ioctl.c: Use sync_dev instead of fsync_dev in BLKFLSBUF ioctl.
1725     * seagate.c: Switch around DATA/CONTROL lines.
1727     * st.c: Change sense to unsigned.
1729 Thu Aug  5 11:59:18 1993
1731     * 0.99pl12 released.
1733     * constants.c, constants.h: New files with ascii descriptions of
1734     various conditions.
1736     * Makefile: Do not try to count the number of low-level drivers,
1737     just generate the list of .o files.
1739     * aha1542.c: Replace 16 with sizeof(SCpnt->sense_buffer).  Add tests
1740     for addresses > 16Mb, panic if we find one.
1742     * aha1740.c: Ditto with sizeof().
1744     * fdomain.c: Update to version 3.18.  Add new signature, register IRQ
1745     with irqaction.  Use ID 7 for new board.  Be more intelligent about
1746     obtaining the h/s/c numbers for biosparam.
1748     * hosts.c: Do not depend upon Makefile generated count of the number
1749     of low-level host adapters.
1751     * scsi.c: Use array for scsi_command_size instead of a function.  Add
1752     Texel cdrom and Maxtor XT-4380S to blacklist.  Allow compile time
1753     option for no-multi lun scan.  Add semaphore for possible problems
1754     with handshaking, assume device is faulty until we know it not to be
1755     the case.  Add DEBUG_INIT symbol to dump info as we scan for devices.
1756     Zero sense buffer so we can tell if we need to request it.  When
1757     examining sense information, request sense if buffer is all zero.
1758     If RESET, request sense information to see what to do next.
1760     * scsi_debug.c: Change some constants to use symbols like INT_MAX.
1762     * scsi_ioctl.c (kernel_scsi_ioctl): New function -for making ioctl
1763     calls from kernel space.
1765     * sd.c: Increase timeout to 300.  Use functions in constants.h to
1766     display info.  Use scsi_malloc buffer for READ_CAPACITY, since
1767     we cannot guarantee that a stack based buffer is < 16Mb.
1769     * sd_ioctl.c: Add BLKFLSBUF ioctl.
1771     * seagate.c: Add new compile time options for ARBITRATE,
1772     SLOW_HANDSHAKE, and SLOW_RATE.  Update assembly loops for transferring
1773     data.  Use kernel_scsi_ioctl to request mode page with geometry.
1775     * sr.c: Use functions in constants.c to display messages.
1777     * st.c: Support for variable block size.
1779     * ultrastor.c: Do not use cache for tape drives.  Set
1780     unchecked_isa_dma flag, even though this may not be needed (gets set
1781     later).
1783 Sat Jul 17 18:32:44 1993
1785     * 0.99pl11 released.  C++ compilable.
1787     * Throughout: Add type casts all over the place, and use "ip" instead
1788     of "info" in the various biosparam functions.
1790     * Makefile: Compile seagate.c with C++ compiler.
1792     * aha1542.c: Always set ccb pointer as this gets trashed somehow on
1793     some systems.  Add a few type casts.  Update biosparam function a little.
1795     * aha1740.c: Add a few type casts.
1797     * fdomain.c: Update to version 3.17 from 3.6.  Now works with
1798     TMC-18C50.
1800     * scsi.c: Minor changes here and there with datatypes.  Save use_sg
1801     when requesting sense information so that this can properly be
1802     restored if we retry the command.  Set aside dma buffers assuming each
1803     block is 1 page, not 1Kb minix block.
1805     * scsi_ioctl.c: Add a few type casts.  Other minor changes.
1807     * sd.c:  Correctly  free all scsi_malloc'd memory if we run out of
1808     dma_pool. Store blocksize information for each partition.
1810     * seagate.c: Minor cleanups here and there.
1812     * sr.c: Set up blocksize array for all discs.  Fix bug in freeing
1813     buffers if we run out of dma pool.
1815 Thu Jun  2 17:58:11 1993
1817     * 0.99pl10 released.
1819     * aha1542.c: Support for BT 445S (VL-bus board with no dma channel).
1821     * fdomain.c: Upgrade to version 3.6. Preliminary support for TNC-18C50.
1823     * scsi.c: First attempt to fix problem with old_use_sg.  Change
1824     NOT_READY to a SUGGEST_ABORT.  Fix timeout race where time might
1825     get decremented past zero.
1827     * sd.c: Add block_fsync function to dispatch table.
1829     * sr.c: Increase timeout to 500 from 250.  Add entry for sync in
1830     dispatch table (supply NULL).  If we do not have a sectorsize,
1831     try to get it in the sd_open function.  Add new function just to
1832     obtain sectorsize.
1834     * sr.h: Add needs_sector_size semaphore.
1836     * st.c: Add NULL for fsync in dispatch table.
1838     * wd7000.c: Allow another condition for power on that are normal
1839     and do not require a panic.
1841 Thu Apr 22 23:10:11 1993
1843     * 0.99pl9 released.
1845     * aha1542.c: Use (void) instead of () in setup_mailboxes.
1847     * scsi.c: Initialize transfersize and underflow fields in SCmd to 0.
1848     Do not panic for unsupported message bytes.
1850     * scsi.h: Allocate 12 bytes instead of 10 for commands.  Add
1851     transfersize and underflow fields.
1853     * scsi_ioctl.c: Further bugfix to ioctl_probe.
1855     * sd.c: Use long instead of int for last parameter in sd_ioctl.
1856     Initialize transfersize and underflow fields.
1858     * sd_ioctl.c: Ditto for sd_ioctl(,,,,);
1860     * seagate.c: New version from Drew.  Includes new signatures for FD
1861     cards.  Support for 0ws jumper. Correctly initialize
1862     scsi_hosts[hostnum].this_id.  Improved handing of
1863     disconnect/reconnect, and support command linking.  Use
1864     transfersize and underflow fields.  Support scatter-gather.
1866     * sr.c, sr_ioctl.c: Use long instead of int for last parameter in sr_ioctl.
1867     Use buffer and buflength in do_ioctl.  Patches from Chris Newbold for
1868     scsi-2 audio commands.
1870     * ultrastor.c: Comment out in_byte (compiler warning).
1872     * wd7000.c: Change () to (void) in wd7000_enable_dma.
1874 Wed Mar 31 16:36:25 1993
1876     * 0.99pl8 released.
1878     * aha1542.c: Handle mailboxes better for 1542C.
1879         Do not truncate number of cylinders at 1024 for biosparam call.
1881     * aha1740.c: Fix a few minor bugs for multiple devices.
1882         Same as above for biosparam.
1884     * scsi.c: Add lockable semaphore for removable devices that can have
1885     media removal prevented.  Add another signature for flopticals.
1886     (allocate_device): Fix race condition.  Allow more space in dma pool
1887     for blocksizes of up to 4Kb.
1889     * scsi.h: Define COMMAND_SIZE.  Define a SCSI specific version of
1890     INIT_REQUEST that can run with interrupts off.
1892     * scsi_ioctl.c: Make ioctl_probe function more idiot-proof.  If
1893     a removable device says ILLEGAL REQUEST to a door-locking command,
1894     clear lockable flag.  Add SCSI_IOCTL_GET_IDLUN ioctl.  Do not attempt
1895     to lock door for devices that do not have lockable semaphore set.
1897     * sd.c: Fix race condition for multiple disks.  Use INIT_SCSI_REQUEST
1898     instead of INIT_REQUEST.  Allow sector sizes of 1024 and 256.  For
1899     removable disks that are not ready, mark them as having a media change
1900     (some drives do not report this later).
1902     * seagate.c: Use volatile keyword for memory-mapped register pointers.
1904     * sr.c: Fix race condition, a la sd.c.  Increase the number of retries
1905     to 1.  Use INIT_SCSI_REQUEST.  Allow 512 byte sector sizes.  Do a
1906     read_capacity when we init the device so we know the size and
1907     sectorsize.
1909     * st.c: If ioctl not found in st.c, try scsi_ioctl for others.
1911     * ultrastor.c: Do not truncate number of cylinders at 1024 for
1912     biosparam call.
1914     * wd7000.c: Ditto.
1915     Throughout: Use COMMAND_SIZE macro to determine length of scsi
1916     command.
1920 Sat Mar 13 17:31:29 1993
1922     * 0.99pl7 released.
1924     Throughout: Improve punctuation in some messages, and use new
1925     verify_area syntax.
1927     * aha1542.c: Handle unexpected interrupts better.
1929     * scsi.c: Ditto.  Handle reset conditions a bit better, asking for
1930     sense information and retrying if required.
1932     * scsi_ioctl.c: Allow for 12 byte scsi commands.
1934     * ultrastor.c: Update to use scatter-gather.
1936 Sat Feb 20 17:57:15 1993
1938     * 0.99pl6 released.
1940     * fdomain.c: Update to version 3.5.  Handle spurious interrupts
1941     better.
1943     * sd.c: Use register_blkdev function.
1945     * sr.c: Ditto.
1947     * st.c: Use register_chrdev function.
1949     * wd7000.c: Undo previous change.
1951 Sat Feb  6 11:20:43 1993
1953     * 0.99pl5 released.
1955     * scsi.c: Fix bug in testing for UNIT_ATTENTION.
1957     * wd7000.c: Check at more addresses for bios.  Fix bug in biosparam
1958     (heads & sectors turned around).
1960 Wed Jan 20 18:13:59 1993
1962     * 0.99pl4 released.
1964     * scsi.c: Ignore leading spaces when looking for blacklisted devices.
1966     * seagate.c: Add a few new signatures for FD cards.  Another patch
1967     with SCint to fix race condition.  Use recursion_depth to keep track
1968     of how many times we have been recursively called, and do not start
1969     another command unless we are on the outer level.  Fixes bug
1970     with Syquest cartridge drives (used to crash kernel), because
1971     they do not disconnect with large data transfers.
1973 Tue Jan 12 14:33:36 1993
1975     * 0.99pl3 released.
1977     * fdomain.c: Update to version 3.3 (a few new signatures).
1979     * scsi.c: Add CDU-541, Denon DRD-25X to blacklist.
1980     (allocate_request, request_queueable): Init request.waiting to NULL if
1981     non-buffer type of request.
1983     * seagate.c:  Allow controller to be overridden with CONTROLLER symbol.
1984     Set SCint=NULL when we are done, to remove race condition.
1986     * st.c: Changes from Kai.
1988 Wed Dec 30 20:03:47 1992
1990     * 0.99pl2 released.
1992     * scsi.c: Blacklist back in.  Remove Newbury drive as other bugfix
1993     eliminates need for it here.
1995     * sd.c: Return ENODEV instead of EACCES if no such device available.
1996     (sd_init) Init blkdev_fops earlier so that sd_open is available sooner.
1998     * sr.c: Same as above for sd.c.
2000     * st.c: Return ENODEV instead of ENXIO if no device.  Init chrdev_fops
2001     sooner, so that it is always there even if no tapes.
2003     * seagate.c (controller_type): New variable to keep track of ST0x or
2004     FD.  Modify signatures list to indicate controller type, and init
2005     controller_type once we find a match.
2007     * wd7000.c (wd7000_set_sync): Remove redundant function.
2009 Sun Dec 20 16:26:24 1992
2011     * 0.99pl1 released.
2013     * scsi_ioctl.c: Bugfix - check dev->index, not dev->id against
2014     NR_SCSI_DEVICES.
2016     * sr_ioctl.c: Verify that device exists before allowing an ioctl.
2018     * st.c: Patches from Kai - change timeout values, improve end of tape
2019     handling.
2021 Sun Dec 13 18:15:23 1992
2023     * 0.99 kernel released.  Baseline for this ChangeLog.