diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/scsi/aic7xxx.txt |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/scsi/aic7xxx.txt')
-rw-r--r-- | Documentation/scsi/aic7xxx.txt | 414 |
1 files changed, 414 insertions, 0 deletions
diff --git a/Documentation/scsi/aic7xxx.txt b/Documentation/scsi/aic7xxx.txt new file mode 100644 index 000000000000..160e7354cd1e --- /dev/null +++ b/Documentation/scsi/aic7xxx.txt | |||
@@ -0,0 +1,414 @@ | |||
1 | ==================================================================== | ||
2 | = Adaptec Aic7xxx Fast -> Ultra160 Family Manager Set v6.2.28 = | ||
3 | = README for = | ||
4 | = The Linux Operating System = | ||
5 | ==================================================================== | ||
6 | |||
7 | The following information is available in this file: | ||
8 | |||
9 | 1. Supported Hardware | ||
10 | 2. Version History | ||
11 | 3. Command Line Options | ||
12 | 4. Contacting Adaptec | ||
13 | |||
14 | 1. Supported Hardware | ||
15 | |||
16 | The following Adaptec SCSI Chips and Host Adapters are supported by | ||
17 | the aic7xxx driver. | ||
18 | |||
19 | Chip MIPS Host Bus MaxSync MaxWidth SCBs Notes | ||
20 | --------------------------------------------------------------- | ||
21 | aic7770 10 EISA/VL 10MHz 16Bit 4 1 | ||
22 | aic7850 10 PCI/32 10MHz 8Bit 3 | ||
23 | aic7855 10 PCI/32 10MHz 8Bit 3 | ||
24 | aic7856 10 PCI/32 10MHz 8Bit 3 | ||
25 | aic7859 10 PCI/32 20MHz 8Bit 3 | ||
26 | aic7860 10 PCI/32 20MHz 8Bit 3 | ||
27 | aic7870 10 PCI/32 10MHz 16Bit 16 | ||
28 | aic7880 10 PCI/32 20MHz 16Bit 16 | ||
29 | aic7890 20 PCI/32 40MHz 16Bit 16 3 4 5 6 7 8 | ||
30 | aic7891 20 PCI/64 40MHz 16Bit 16 3 4 5 6 7 8 | ||
31 | aic7892 20 PCI/64-66 80MHz 16Bit 16 3 4 5 6 7 8 | ||
32 | aic7895 15 PCI/32 20MHz 16Bit 16 2 3 4 5 | ||
33 | aic7895C 15 PCI/32 20MHz 16Bit 16 2 3 4 5 8 | ||
34 | aic7896 20 PCI/32 40MHz 16Bit 16 2 3 4 5 6 7 8 | ||
35 | aic7897 20 PCI/64 40MHz 16Bit 16 2 3 4 5 6 7 8 | ||
36 | aic7899 20 PCI/64-66 80MHz 16Bit 16 2 3 4 5 6 7 8 | ||
37 | |||
38 | 1. Multiplexed Twin Channel Device - One controller servicing two | ||
39 | busses. | ||
40 | 2. Multi-function Twin Channel Device - Two controllers on one chip. | ||
41 | 3. Command Channel Secondary DMA Engine - Allows scatter gather list | ||
42 | and SCB prefetch. | ||
43 | 4. 64 Byte SCB Support - Allows disconnected, unttagged request table | ||
44 | for all possible target/lun combinations. | ||
45 | 5. Block Move Instruction Support - Doubles the speed of certain | ||
46 | sequencer operations. | ||
47 | 6. `Bayonet' style Scatter Gather Engine - Improves S/G prefetch | ||
48 | performance. | ||
49 | 7. Queuing Registers - Allows queuing of new transactions without | ||
50 | pausing the sequencer. | ||
51 | 8. Multiple Target IDs - Allows the controller to respond to selection | ||
52 | as a target on multiple SCSI IDs. | ||
53 | |||
54 | Controller Chip Host-Bus Int-Connectors Ext-Connectors Notes | ||
55 | -------------------------------------------------------------------------- | ||
56 | AHA-274X[A] aic7770 EISA SE-50M SE-HD50F | ||
57 | AHA-274X[A]W aic7770 EISA SE-HD68F SE-HD68F | ||
58 | SE-50M | ||
59 | AHA-274X[A]T aic7770 EISA 2 X SE-50M SE-HD50F | ||
60 | AHA-2842 aic7770 VL SE-50M SE-HD50F | ||
61 | AHA-2940AU aic7860 PCI/32 SE-50M SE-HD50F | ||
62 | AVA-2902I aic7860 PCI/32 SE-50M | ||
63 | AVA-2902E aic7860 PCI/32 SE-50M | ||
64 | AVA-2906 aic7856 PCI/32 SE-50M SE-DB25F | ||
65 | APC-7850 aic7850 PCI/32 SE-50M 1 | ||
66 | AVA-2940 aic7860 PCI/32 SE-50M | ||
67 | AHA-2920B aic7860 PCI/32 SE-50M | ||
68 | AHA-2930B aic7860 PCI/32 SE-50M | ||
69 | AHA-2920C aic7856 PCI/32 SE-50M SE-HD50F | ||
70 | AHA-2930C aic7860 PCI/32 SE-50M | ||
71 | AHA-2930C aic7860 PCI/32 SE-50M | ||
72 | AHA-2910C aic7860 PCI/32 SE-50M | ||
73 | AHA-2915C aic7860 PCI/32 SE-50M | ||
74 | AHA-2940AU/CN aic7860 PCI/32 SE-50M SE-HD50F | ||
75 | AHA-2944W aic7870 PCI/32 HVD-HD68F HVD-HD68F | ||
76 | HVD-50M | ||
77 | AHA-3940W aic7870 PCI/32 2 X SE-HD68F SE-HD68F 2 | ||
78 | AHA-2940UW aic7880 PCI/32 SE-HD68F | ||
79 | SE-50M SE-HD68F | ||
80 | AHA-2940U aic7880 PCI/32 SE-50M SE-HD50F | ||
81 | AHA-2940D aic7880 PCI/32 | ||
82 | aHA-2940 A/T aic7880 PCI/32 | ||
83 | AHA-2940D A/T aic7880 PCI/32 | ||
84 | AHA-3940UW aic7880 PCI/32 2 X SE-HD68F SE-HD68F 3 | ||
85 | AHA-3940UWD aic7880 PCI/32 2 X SE-HD68F 2 X SE-VHD68F 3 | ||
86 | AHA-3940U aic7880 PCI/32 2 X SE-50M SE-HD50F 3 | ||
87 | AHA-2944UW aic7880 PCI/32 HVD-HD68F HVD-HD68F | ||
88 | HVD-50M | ||
89 | AHA-3944UWD aic7880 PCI/32 2 X HVD-HD68F 2 X HVD-VHD68F 3 | ||
90 | AHA-4944UW aic7880 PCI/32 | ||
91 | AHA-2930UW aic7880 PCI/32 | ||
92 | AHA-2940UW Pro aic7880 PCI/32 SE-HD68F SE-HD68F 4 | ||
93 | SE-50M | ||
94 | AHA-2940UW/CN aic7880 PCI/32 | ||
95 | AHA-2940UDual aic7895 PCI/32 | ||
96 | AHA-2940UWDual aic7895 PCI/32 | ||
97 | AHA-3940UWD aic7895 PCI/32 | ||
98 | AHA-3940AUW aic7895 PCI/32 | ||
99 | AHA-3940AUWD aic7895 PCI/32 | ||
100 | AHA-3940AU aic7895 PCI/32 | ||
101 | AHA-3944AUWD aic7895 PCI/32 2 X HVD-HD68F 2 X HVD-VHD68F | ||
102 | AHA-2940U2B aic7890 PCI/32 LVD-HD68F LVD-HD68F | ||
103 | AHA-2940U2 OEM aic7891 PCI/64 | ||
104 | AHA-2940U2W aic7890 PCI/32 LVD-HD68F LVD-HD68F | ||
105 | SE-HD68F | ||
106 | SE-50M | ||
107 | AHA-2950U2B aic7891 PCI/64 LVD-HD68F LVD-HD68F | ||
108 | AHA-2930U2 aic7890 PCI/32 LVD-HD68F SE-HD50F | ||
109 | SE-50M | ||
110 | AHA-3950U2B aic7897 PCI/64 | ||
111 | AHA-3950U2D aic7897 PCI/64 | ||
112 | AHA-29160 aic7892 PCI/64-66 | ||
113 | AHA-29160 CPQ aic7892 PCI/64-66 | ||
114 | AHA-29160N aic7892 PCI/32 LVD-HD68F SE-HD50F | ||
115 | SE-50M | ||
116 | AHA-29160LP aic7892 PCI/64-66 | ||
117 | AHA-19160 aic7892 PCI/64-66 | ||
118 | AHA-29150LP aic7892 PCI/64-66 | ||
119 | AHA-29130LP aic7892 PCI/64-66 | ||
120 | AHA-3960D aic7899 PCI/64-66 2 X LVD-HD68F 2 X LVD-VHD68F | ||
121 | LVD-50M | ||
122 | AHA-3960D CPQ aic7899 PCI/64-66 2 X LVD-HD68F 2 X LVD-VHD68F | ||
123 | LVD-50M | ||
124 | AHA-39160 aic7899 PCI/64-66 2 X LVD-HD68F 2 X LVD-VHD68F | ||
125 | LVD-50M | ||
126 | |||
127 | 1. No BIOS support | ||
128 | 2. DEC21050 PCI-PCI bridge with multiple controller chips on secondary bus | ||
129 | 3. DEC2115X PCI-PCI bridge with multiple controller chips on secondary bus | ||
130 | 4. All three SCSI connectors may be used simultaneously without | ||
131 | SCSI "stub" effects. | ||
132 | |||
133 | 2. Version History | ||
134 | 6.2.36 (June 3rd, 2003) | ||
135 | - Correct code that disables PCI parity error checking. | ||
136 | - Correct and simplify handling of the ignore wide residue | ||
137 | message. The previous code would fail to report a residual | ||
138 | if the transaction data length was even and we received | ||
139 | an IWR message. | ||
140 | - Add support for the 2.5.X EISA framework. | ||
141 | - Update for change in 2.5.X SCSI proc FS interface. | ||
142 | - Correct Domain Validation command-line option parsing. | ||
143 | - When negotiation async via an 8bit WDTR message, send | ||
144 | an SDTR with an offset of 0 to be sure the target | ||
145 | knows we are async. This works around a firmware defect | ||
146 | in the Quantum Atlas 10K. | ||
147 | - Clear PCI error state during driver attach so that we | ||
148 | don't disable memory mapped I/O due to a stray write | ||
149 | by some other driver probe that occurred before we | ||
150 | claimed the controller. | ||
151 | |||
152 | 6.2.35 (May 14th, 2003) | ||
153 | - Fix a few GCC 3.3 compiler warnings. | ||
154 | - Correct operation on EISA Twin Channel controller. | ||
155 | - Add support for 2.5.X's scsi_report_device_reset(). | ||
156 | |||
157 | 6.2.34 (May 5th, 2003) | ||
158 | - Fix locking regression instroduced in 6.2.29 that | ||
159 | could cuase a lock order reversal between the io_request_lock | ||
160 | and our per-softc lock. This was only possible on RH9, | ||
161 | SuSE, and kernel.org 2.4.X kernels. | ||
162 | |||
163 | 6.2.33 (April 30th, 2003) | ||
164 | - Dynamically disable PCI parity error reporting after | ||
165 | 10 errors are reported to the user. These errors are | ||
166 | the result of some other device issuing PCI transactions | ||
167 | with bad parity. Once the user has been informed of the | ||
168 | problem, continuing to report the errors just degrades | ||
169 | our performance. | ||
170 | |||
171 | 6.2.32 (March 28th, 2003) | ||
172 | - Dynamically sized S/G lists to avoid SCSI malloc | ||
173 | pool fragmentation and SCSI mid-layer deadlock. | ||
174 | |||
175 | 6.2.28 (January 20th, 2003) | ||
176 | - Domain Validation Fixes | ||
177 | - Add ability to disable PCI parity error checking. | ||
178 | - Enhanced Memory Mapped I/O probe | ||
179 | |||
180 | 6.2.20 (November 7th, 2002) | ||
181 | - Added Domain Validation. | ||
182 | |||
183 | 3. Command Line Options | ||
184 | |||
185 | WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS | ||
186 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. | ||
187 | USE THEM WITH CAUTION. | ||
188 | |||
189 | Edit the file "modprobe.conf" in the directory /etc and add/edit a | ||
190 | line containing 'options aic7xxx aic7xxx=[command[,command...]]' where | ||
191 | 'command' is one or more of the following: | ||
192 | ----------------------------------------------------------------- | ||
193 | Option: verbose | ||
194 | Definition: enable additional informative messages during | ||
195 | driver operation. | ||
196 | Possible Values: This option is a flag | ||
197 | Default Value: disabled | ||
198 | ----------------------------------------------------------------- | ||
199 | Option: debug:[value] | ||
200 | Definition: Enables various levels of debugging information | ||
201 | Possible Values: 0x0000 = no debugging, 0xffff = full debugging | ||
202 | Default Value: 0x0000 | ||
203 | ----------------------------------------------------------------- | ||
204 | Option: no_probe | ||
205 | Option: probe_eisa_vl | ||
206 | Definition: Do not probe for EISA/VLB controllers. | ||
207 | This is a toggle. If the driver is compiled | ||
208 | to not probe EISA/VLB controllers by default, | ||
209 | specifying "no_probe" will enable this probing. | ||
210 | If the driver is compiled to probe EISA/VLB | ||
211 | controllers by default, specifying "no_probe" | ||
212 | will disable this probing. | ||
213 | Possible Values: This option is a toggle | ||
214 | Default Value: EISA/VLB probing is disabled by default. | ||
215 | ----------------------------------------------------------------- | ||
216 | Option: pci_parity | ||
217 | Definition: Toggles the detection of PCI parity errors. | ||
218 | On many motherboards with VIA chipsets, | ||
219 | PCI parity is not generated correctly on the | ||
220 | PCI bus. It is impossible for the hardware to | ||
221 | differentiate between these "spurious" parity | ||
222 | errors and real parity errors. The symptom of | ||
223 | this problem is a stream of the message: | ||
224 | "scsi0: Data Parity Error Detected during address or write data phase" | ||
225 | output by the driver. | ||
226 | Possible Values: This option is a toggle | ||
227 | Default Value: PCI Parity Error reporting is disabled | ||
228 | ----------------------------------------------------------------- | ||
229 | Option: no_reset | ||
230 | Definition: Do not reset the bus during the initial probe | ||
231 | phase | ||
232 | Possible Values: This option is a flag | ||
233 | Default Value: disabled | ||
234 | ----------------------------------------------------------------- | ||
235 | Option: extended | ||
236 | Definition: Force extended translation on the controller | ||
237 | Possible Values: This option is a flag | ||
238 | Default Value: disabled | ||
239 | ----------------------------------------------------------------- | ||
240 | Option: periodic_otag | ||
241 | Definition: Send an ordered tag periodically to prevent | ||
242 | tag starvation. Needed for some older devices | ||
243 | Possible Values: This option is a flag | ||
244 | Default Value: disabled | ||
245 | ----------------------------------------------------------------- | ||
246 | Option: reverse_scan | ||
247 | Definition: Probe the scsi bus in reverse order, starting | ||
248 | with target 15 | ||
249 | Possible Values: This option is a flag | ||
250 | Default Value: disabled | ||
251 | ----------------------------------------------------------------- | ||
252 | Option: global_tag_depth:[value] | ||
253 | Definition: Global tag depth for all targets on all busses. | ||
254 | This option sets the default tag depth which | ||
255 | may be selectively overridden vi the tag_info | ||
256 | option. | ||
257 | Possible Values: 1 - 253 | ||
258 | Default Value: 32 | ||
259 | ----------------------------------------------------------------- | ||
260 | Option: tag_info:{{value[,value...]}[,{value[,value...]}...]} | ||
261 | Definition: Set the per-target tagged queue depth on a | ||
262 | per controller basis. Both controllers and targets | ||
263 | may be ommitted indicating that they should retain | ||
264 | the default tag depth. | ||
265 | Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32} | ||
266 | On Controller 0 | ||
267 | specifies a tag depth of 16 for target 0 | ||
268 | specifies a tag depth of 64 for target 3 | ||
269 | specifies a tag depth of 8 for targets 4 and 5 | ||
270 | leaves target 6 at the default | ||
271 | specifies a tag depth of 32 for targets 1,2,7-15 | ||
272 | All other targets retain the default depth. | ||
273 | |||
274 | tag_info:{{},{32,,32}} | ||
275 | On Controller 1 | ||
276 | specifies a tag depth of 32 for targets 0 and 2 | ||
277 | All other targets retain the default depth. | ||
278 | |||
279 | Possible Values: 1 - 253 | ||
280 | Default Value: 32 | ||
281 | ----------------------------------------------------------------- | ||
282 | Option: seltime:[value] | ||
283 | Definition: Specifies the selection timeout value | ||
284 | Possible Values: 0 = 256ms, 1 = 128ms, 2 = 64ms, 3 = 32ms | ||
285 | Default Value: 0 | ||
286 | ----------------------------------------------------------------- | ||
287 | Option: dv: {value[,value...]} | ||
288 | Definition: Set Domain Validation Policy on a per-controller basis. | ||
289 | Controllers may be ommitted indicating that | ||
290 | they should retain the default read streaming setting. | ||
291 | Example: dv:{-1,0,,1,1,0} | ||
292 | On Controller 0 leave DV at its default setting. | ||
293 | On Controller 1 disable DV. | ||
294 | Skip configuration on Controller 2. | ||
295 | On Controllers 3 and 4 enable DV. | ||
296 | On Controller 5 disable DV. | ||
297 | |||
298 | Possible Values: < 0 Use setting from serial EEPROM. | ||
299 | 0 Disable DV | ||
300 | > 0 Enable DV | ||
301 | |||
302 | Default Value: SCSI-Select setting on controllers with a SCSI Select | ||
303 | option for DV. Otherwise, on for controllers supporting | ||
304 | U160 speeds and off for all other controller types. | ||
305 | ----------------------------------------------------------------- | ||
306 | |||
307 | Example: | ||
308 | 'options aic7xxx aic7xxx=verbose,no_probe,tag_info:{{},{,,10}},seltime:1" | ||
309 | enables verbose logging, Disable EISA/VLB probing, | ||
310 | and set tag depth on Controller 1/Target 2 to 10 tags. | ||
311 | |||
312 | 3. Contacting Adaptec | ||
313 | |||
314 | A Technical Support Identification (TSID) Number is required for | ||
315 | Adaptec technical support. | ||
316 | - The 12-digit TSID can be found on the white barcode-type label | ||
317 | included inside the box with your product. The TSID helps us | ||
318 | provide more efficient service by accurately identifying your | ||
319 | product and support status. | ||
320 | Support Options | ||
321 | - Search the Adaptec Support Knowledgebase (ASK) at | ||
322 | http://ask.adaptec.com for articles, troubleshooting tips, and | ||
323 | frequently asked questions for your product. | ||
324 | - For support via Email, submit your question to Adaptec's | ||
325 | Technical Support Specialists at http://ask.adaptec.com. | ||
326 | |||
327 | North America | ||
328 | - Visit our Web site at http://www.adaptec.com. | ||
329 | - To speak with a Fibre Channel/RAID/External Storage Technical | ||
330 | Support Specialist, call 1-321-207-2000, | ||
331 | Hours: Monday-Friday, 3:00 A.M. to 5:00 P.M., PST. | ||
332 | (Not open on holidays) | ||
333 | - For Technical Support in all other technologies including | ||
334 | SCSI, call 1-408-934-7274, | ||
335 | Hours: Monday-Friday, 6:00 A.M. to 5:00 P.M., PST. | ||
336 | (Not open on holidays) | ||
337 | - For after hours support, call 1-800-416-8066 ($99/call, | ||
338 | $149/call on holidays) | ||
339 | - To order Adaptec products including software and cables, call | ||
340 | 1-800-442-7274 or 1-408-957-7274. You can also visit our | ||
341 | online store at http://www.adaptecstore.com | ||
342 | |||
343 | Europe | ||
344 | - Visit our Web site at http://www.adaptec-europe.com. | ||
345 | - English and French: To speak with a Technical Support | ||
346 | Specialist, call one of the following numbers: | ||
347 | - English: +32-2-352-3470 | ||
348 | - French: +32-2-352-3460 | ||
349 | Hours: Monday-Thursday, 10:00 to 12:30, 13:30 to 17:30 CET | ||
350 | Friday, 10:00 to 12:30, 13:30 to 16:30 CET | ||
351 | - German: To speak with a Technical Support Specialist, | ||
352 | call +49-89-456-40660 | ||
353 | Hours: Monday-Thursday, 09:30 to 12:30, 13:30 to 16:30 CET | ||
354 | Friday, 09:30 to 12:30, 13:30 to 15:00 CET | ||
355 | - To order Adaptec products, including accessories and cables: | ||
356 | - UK: +0800-96-65-26 or fax +0800-731-02-95 | ||
357 | - Other European countries: +32-11-300-379 | ||
358 | |||
359 | Australia and New Zealand | ||
360 | - Visit our Web site at http://www.adaptec.com.au. | ||
361 | - To speak with a Technical Support Specialist, call | ||
362 | +612-9416-0698 | ||
363 | Hours: Monday-Friday, 10:00 A.M. to 4:30 P.M., EAT | ||
364 | (Not open on holidays) | ||
365 | |||
366 | Japan | ||
367 | - To speak with a Technical Support Specialist, call | ||
368 | +81-3-5308-6120 | ||
369 | Hours: Monday-Friday, 9:00 a.m. to 12:00 p.m., 1:00 p.m. to | ||
370 | 6:00 p.m. TSC | ||
371 | |||
372 | Hong Kong and China | ||
373 | - To speak with a Technical Support Specialist, call | ||
374 | +852-2869-7200 | ||
375 | Hours: Monday-Friday, 10:00 to 17:00. | ||
376 | - Fax Technical Support at +852-2869-7100. | ||
377 | |||
378 | Singapore | ||
379 | - To speak with a Technical Support Specialist, call | ||
380 | +65-245-7470 | ||
381 | Hours: Monday-Friday, 10:00 to 17:00. | ||
382 | - Fax Technical Support at +852-2869-7100 | ||
383 | |||
384 | ------------------------------------------------------------------- | ||
385 | /* | ||
386 | * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. | ||
387 | * All rights reserved. | ||
388 | * | ||
389 | * You are permitted to redistribute, use and modify this README file in whole | ||
390 | * or in part in conjunction with redistribution of software governed by the | ||
391 | * General Public License, provided that the following conditions are met: | ||
392 | * 1. Redistributions of README file must retain the above copyright | ||
393 | * notice, this list of conditions, and the following disclaimer, | ||
394 | * without modification. | ||
395 | * 2. The name of the author may not be used to endorse or promote products | ||
396 | * derived from this software without specific prior written permission. | ||
397 | * 3. Modifications or new contributions must be attributed in a copyright | ||
398 | * notice identifying the author ("Contributor") and added below the | ||
399 | * original copyright notice. The copyright notice is for purposes of | ||
400 | * identifying contributors and should not be deemed as permission to alter | ||
401 | * the permissions given by Adaptec. | ||
402 | * | ||
403 | * THIS README FILE IS PROVIDED BY ADAPTEC AND CONTRIBUTORS ``AS IS'' AND | ||
404 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY | ||
405 | * WARRANTIES OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES OF MERCHANTABILITY | ||
406 | * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | ||
407 | * ADAPTEC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
408 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
409 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
410 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
411 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
412 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS README | ||
413 | * FILE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
414 | */ | ||