]>
Commit | Line | Data |
---|---|---|
1da177e4 | 1 | ==================================================================== |
d60256b1 | 2 | = Adaptec Ultra320 Family Manager Set = |
1da177e4 LT |
3 | = = |
4 | = README for = | |
5 | = The Linux Operating System = | |
6 | ==================================================================== | |
7 | ||
8 | The following information is available in this file: | |
9 | ||
10 | 1. Supported Hardware | |
11 | 2. Version History | |
12 | 3. Command Line Options | |
13 | 4. Additional Notes | |
14 | 5. Contacting Adaptec | |
15 | ||
16 | ||
17 | 1. Supported Hardware | |
18 | ||
19 | The following Adaptec SCSI Host Adapters are supported by this | |
20 | driver set. | |
21 | ||
22 | Ultra320 ASIC Description | |
23 | ---------------------------------------------------------------- | |
24 | AIC-7901A Single Channel 64-bit PCI-X 133MHz to | |
25 | Ultra320 SCSI ASIC | |
26 | AIC-7901B Single Channel 64-bit PCI-X 133MHz to | |
27 | Ultra320 SCSI ASIC with Retained Training | |
28 | AIC-7902A4 Dual Channel 64-bit PCI-X 133MHz to | |
29 | Ultra320 SCSI ASIC | |
30 | AIC-7902B Dual Channel 64-bit PCI-X 133MHz to | |
31 | Ultra320 SCSI ASIC with Retained Training | |
32 | ||
33 | Ultra320 Adapters Description ASIC | |
34 | -------------------------------------------------------------------------- | |
35 | Adaptec SCSI Card 39320 Dual Channel 64-bit PCI-X 133MHz to 7902A4/7902B | |
36 | Ultra320 SCSI Card (one external | |
37 | 68-pin, two internal 68-pin) | |
38 | Adaptec SCSI Card 39320A Dual Channel 64-bit PCI-X 133MHz to 7902B | |
39 | Ultra320 SCSI Card (one external | |
40 | 68-pin, two internal 68-pin) | |
41 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 | |
42 | Ultra320 SCSI Card (two external VHDC | |
43 | and one internal 68-pin) | |
44 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 | |
45 | Ultra320 SCSI Card (two external VHDC | |
46 | and one internal 68-pin) based on the | |
47 | AIC-7902B ASIC | |
48 | Adaptec SCSI Card 29320 Single Channel 64-bit PCI-X 133MHz to 7901A | |
49 | Ultra320 SCSI Card (one external | |
50 | 68-pin, two internal 68-pin, one | |
51 | internal 50-pin) | |
52 | Adaptec SCSI Card 29320A Single Channel 64-bit PCI-X 133MHz to 7901B | |
53 | Ultra320 SCSI Card (one external | |
54 | 68-pin, two internal 68-pin, one | |
55 | internal 50-pin) | |
56 | Adaptec SCSI Card 29320LP Single Channel 64-bit Low Profile 7901A | |
57 | PCI-X 133MHz to Ultra320 SCSI Card | |
58 | (One external VHDC, one internal | |
59 | 68-pin) | |
60 | Adaptec SCSI Card 29320ALP Single Channel 64-bit Low Profile 7901B | |
61 | PCI-X 133MHz to Ultra320 SCSI Card | |
62 | (One external VHDC, one internal | |
63 | 68-pin) | |
64 | 2. Version History | |
65 | ||
d60256b1 HR |
66 | 3.0 (December 1st, 2005) |
67 | - Updated driver to use SCSI transport class infrastructure | |
68 | - Upported sequencer and core fixes from adaptec released | |
69 | version 2.0.15 of the driver. | |
70 | ||
1da177e4 LT |
71 | 1.3.11 (July 11, 2003) |
72 | - Fix several deadlock issues. | |
73 | - Add 29320ALP and 39320B Id's. | |
74 | ||
75 | 1.3.10 (June 3rd, 2003) | |
76 | - Align the SCB_TAG field on a 16byte boundary. This avoids | |
77 | SCB corruption on some PCI-33 busses. | |
78 | - Correct non-zero luns on Rev B. hardware. | |
79 | - Update for change in 2.5.X SCSI proc FS interface. | |
80 | - When negotiation async via an 8bit WDTR message, send | |
81 | an SDTR with an offset of 0 to be sure the target | |
82 | knows we are async. This works around a firmware defect | |
83 | in the Quantum Atlas 10K. | |
53cb4726 | 84 | - Implement controller suspend and resume. |
1da177e4 LT |
85 | - Clear PCI error state during driver attach so that we |
86 | don't disable memory mapped I/O due to a stray write | |
87 | by some other driver probe that occurred before we | |
88 | claimed the controller. | |
89 | ||
90 | 1.3.9 (May 22nd, 2003) | |
91 | - Fix compiler errors. | |
92 | - Remove S/G splitting for segments that cross a 4GB boundary. | |
93 | This is guaranteed not to happen in Linux. | |
94 | - Add support for scsi_report_device_reset() found in | |
95 | 2.5.X kernels. | |
96 | - Add 7901B support. | |
992caacf | 97 | - Simplify handling of the packetized lun Rev A workaround. |
1da177e4 LT |
98 | - Correct and simplify handling of the ignore wide residue |
99 | message. The previous code would fail to report a residual | |
100 | if the transaction data length was even and we received | |
101 | an IWR message. | |
102 | ||
103 | 1.3.8 (April 29th, 2003) | |
104 | - Fix types accessed via the command line interface code. | |
105 | - Perform a few firmware optimizations. | |
106 | - Fix "Unexpected PKT busfree" errors. | |
107 | - Use a sequencer interrupt to notify the host of | |
108 | commands with bad status. We defer the notification | |
109 | until there are no outstanding selections to ensure | |
110 | that the host is interrupted for as short a time as | |
111 | possible. | |
112 | - Remove pre-2.2.X support. | |
113 | - Add support for new 2.5.X interrupt API. | |
114 | - Correct big-endian architecture support. | |
115 | ||
116 | 1.3.7 (April 16th, 2003) | |
117 | - Use del_timer_sync() to ensure that no timeouts | |
118 | are pending during controller shutdown. | |
119 | - For pre-2.5.X kernels, carefully adjust our segment | |
120 | list size to avoid SCSI malloc pool fragmentation. | |
121 | - Cleanup channel display in our /proc output. | |
122 | - Workaround duplicate device entries in the mid-layer | |
01dd2fbf | 123 | device list during add-single-device. |
1da177e4 LT |
124 | |
125 | 1.3.6 (March 28th, 2003) | |
126 | - Correct a double free in the Domain Validation code. | |
127 | - Correct a reference to free'ed memory during controller | |
128 | shutdown. | |
129 | - Reset the bus on an SE->LVD change. This is required | |
fa00e7e1 | 130 | to reset our transceivers. |
1da177e4 LT |
131 | |
132 | 1.3.5 (March 24th, 2003) | |
133 | - Fix a few register window mode bugs. | |
134 | - Include read streaming in the PPR flags we display in | |
135 | diagnostics as well as /proc. | |
136 | - Add PCI hot plug support for 2.5.X kernels. | |
137 | - Correct default precompensation value for RevA hardware. | |
138 | - Fix Domain Validation thread shutdown. | |
139 | - Add a firmware workaround to make the LED blink | |
140 | brighter during packetized operations on the H2A4. | |
141 | - Correct /proc display of user read streaming settings. | |
142 | - Simplify driver locking by releasing the io_request_lock | |
143 | upon driver entry from the mid-layer. | |
144 | - Cleanup command line parsing and move much of this code | |
145 | to aiclib. | |
146 | ||
147 | 1.3.4 (February 28th, 2003) | |
148 | - Correct a race condition in our error recovery handler. | |
149 | - Allow Test Unit Ready commands to take a full 5 seconds | |
150 | during Domain Validation. | |
151 | ||
152 | 1.3.2 (February 19th, 2003) | |
153 | - Correct a Rev B. regression due to the GEM318 | |
154 | compatibility fix included in 1.3.1. | |
155 | ||
156 | 1.3.1 (February 11th, 2003) | |
157 | - Add support for the 39320A. | |
158 | - Improve recovery for certain PCI-X errors. | |
159 | - Fix handling of LQ/DATA/LQ/DATA for the | |
160 | same write transaction that can occur without | |
161 | interveining training. | |
162 | - Correct compatibility issues with the GEM318 | |
163 | enclosure services device. | |
164 | - Correct data corruption issue that occurred under | |
165 | high tag depth write loads. | |
166 | - Adapt to a change in the 2.5.X daemonize() API. | |
167 | - Correct a "Missing case in ahd_handle_scsiint" panic. | |
168 | ||
169 | 1.3.0 (January 21st, 2003) | |
170 | - Full regression testing for all U320 products completed. | |
171 | - Added abort and target/lun reset error recovery handler and | |
5d3f083d | 172 | interrupt coalescing. |
1da177e4 LT |
173 | |
174 | 1.2.0 (November 14th, 2002) | |
175 | - Added support for Domain Validation | |
176 | - Add support for the Hewlett-Packard version of the 39320D | |
177 | and AIC-7902 adapters. | |
178 | Support for previous adapters has not been fully tested and should | |
179 | only be used at the customer's own risk. | |
180 | ||
181 | 1.1.1 (September 24th, 2002) | |
182 | - Added support for the Linux 2.5.X kernel series | |
183 | ||
184 | 1.1.0 (September 17th, 2002) | |
185 | - Added support for four additional SCSI products: | |
186 | ASC-39320, ASC-29320, ASC-29320LP, AIC-7901. | |
187 | ||
188 | 1.0.0 (May 30th, 2002) | |
189 | - Initial driver release. | |
190 | ||
191 | 2.1. Software/Hardware Features | |
192 | - Support for the SPI-4 "Ultra320" standard: | |
193 | - 320MB/s transfer rates | |
194 | - Packetized SCSI Protocol at 160MB/s and 320MB/s | |
195 | - Quick Arbitration Selection (QAS) | |
196 | - Retained Training Information (Rev B. ASIC only) | |
197 | - Interrupt Coalessing | |
198 | - Initiator Mode (target mode not currently | |
199 | supported) | |
200 | - Support for the PCI-X standard up to 133MHz | |
201 | - Support for the PCI v2.2 standard | |
d60256b1 | 202 | - Domain Validation |
1da177e4 LT |
203 | |
204 | 2.2. Operating System Support: | |
205 | - Redhat Linux 7.2, 7.3, 8.0, Advanced Server 2.1 | |
206 | - SuSE Linux 7.3, 8.0, 8.1, Enterprise Server 7 | |
207 | - only Intel and AMD x86 supported at this time | |
208 | - >4GB memory configurations supported. | |
209 | ||
210 | Refer to the User's Guide for more details on this. | |
211 | ||
212 | 3. Command Line Options | |
213 | ||
214 | WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS | |
215 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. | |
216 | USE THEM WITH CAUTION. | |
217 | ||
218 | Edit the file "modprobe.conf" in the directory /etc and add/edit a | |
219 | line containing 'options aic79xx aic79xx=[command[,command...]]' where | |
220 | 'command' is one or more of the following: | |
221 | ----------------------------------------------------------------- | |
222 | Option: verbose | |
223 | Definition: enable additional informative messages during | |
224 | driver operation. | |
225 | Possible Values: This option is a flag | |
226 | Default Value: disabled | |
227 | ----------------------------------------------------------------- | |
228 | Option: debug:[value] | |
229 | Definition: Enables various levels of debugging information | |
230 | The bit definitions for the debugging mask can | |
231 | be found in drivers/scsi/aic7xxx/aic79xx.h under | |
232 | the "Debug" heading. | |
233 | Possible Values: 0x0000 = no debugging, 0xffff = full debugging | |
234 | Default Value: 0x0000 | |
235 | ----------------------------------------------------------------- | |
236 | Option: no_reset | |
237 | Definition: Do not reset the bus during the initial probe | |
238 | phase | |
239 | Possible Values: This option is a flag | |
240 | Default Value: disabled | |
241 | ----------------------------------------------------------------- | |
242 | Option: extended | |
243 | Definition: Force extended translation on the controller | |
244 | Possible Values: This option is a flag | |
245 | Default Value: disabled | |
246 | ----------------------------------------------------------------- | |
247 | Option: periodic_otag | |
248 | Definition: Send an ordered tag periodically to prevent | |
249 | tag starvation. Needed for some older devices | |
250 | Possible Values: This option is a flag | |
251 | Default Value: disabled | |
252 | ----------------------------------------------------------------- | |
253 | Option: reverse_scan | |
254 | Definition: Probe the scsi bus in reverse order, starting | |
255 | with target 15 | |
256 | Possible Values: This option is a flag | |
257 | Default Value: disabled | |
258 | ----------------------------------------------------------------- | |
259 | Option: global_tag_depth | |
260 | Definition: Global tag depth for all targets on all busses. | |
261 | This option sets the default tag depth which | |
262 | may be selectively overridden vi the tag_info | |
263 | option. | |
264 | Possible Values: 1 - 253 | |
265 | Default Value: 32 | |
266 | ----------------------------------------------------------------- | |
267 | Option: tag_info:{{value[,value...]}[,{value[,value...]}...]} | |
268 | Definition: Set the per-target tagged queue depth on a | |
269 | per controller basis. Both controllers and targets | |
270 | may be ommitted indicating that they should retain | |
271 | the default tag depth. | |
272 | Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32} | |
273 | On Controller 0 | |
274 | specifies a tag depth of 16 for target 0 | |
275 | specifies a tag depth of 64 for target 3 | |
276 | specifies a tag depth of 8 for targets 4 and 5 | |
277 | leaves target 6 at the default | |
278 | specifies a tag depth of 32 for targets 1,2,7-15 | |
279 | All other targets retain the default depth. | |
280 | ||
281 | tag_info:{{},{32,,32}} | |
282 | On Controller 1 | |
283 | specifies a tag depth of 32 for targets 0 and 2 | |
284 | All other targets retain the default depth. | |
285 | ||
286 | Possible Values: 1 - 253 | |
287 | Default Value: 32 | |
288 | ----------------------------------------------------------------- | |
289 | Option: rd_strm: {rd_strm_bitmask[,rd_strm_bitmask...]} | |
290 | Definition: Enable read streaming on a per target basis. | |
291 | The rd_strm_bitmask is a 16 bit hex value in which | |
292 | each bit represents a target. Setting the target's | |
293 | bit to '1' enables read streaming for that | |
294 | target. Controllers may be ommitted indicating that | |
295 | they should retain the default read streaming setting. | |
296 | Example: rd_strm:{0x0041} | |
297 | On Controller 0 | |
298 | enables read streaming for targets 0 and 6. | |
299 | disables read streaming for targets 1-5,7-15. | |
300 | All other targets retain the default read | |
301 | streaming setting. | |
302 | Example: rd_strm:{0x0023,,0xFFFF} | |
303 | On Controller 0 | |
304 | enables read streaming for targets 1,2, and 5. | |
305 | disables read streaming for targets 3,4,6-15. | |
306 | On Controller 2 | |
307 | enables read streaming for all targets. | |
308 | All other targets retain the default read | |
309 | streaming setting. | |
310 | ||
311 | Possible Values: 0x0000 - 0xffff | |
312 | Default Value: 0x0000 | |
313 | ----------------------------------------------------------------- | |
314 | Option: dv: {value[,value...]} | |
315 | Definition: Set Domain Validation Policy on a per-controller basis. | |
316 | Controllers may be ommitted indicating that | |
317 | they should retain the default read streaming setting. | |
318 | Example: dv:{-1,0,,1,1,0} | |
319 | On Controller 0 leave DV at its default setting. | |
320 | On Controller 1 disable DV. | |
321 | Skip configuration on Controller 2. | |
322 | On Controllers 3 and 4 enable DV. | |
323 | On Controller 5 disable DV. | |
324 | ||
325 | Possible Values: < 0 Use setting from serial EEPROM. | |
326 | 0 Disable DV | |
327 | > 0 Enable DV | |
328 | Default Value: DV Serial EEPROM configuration setting. | |
329 | ----------------------------------------------------------------- | |
330 | Option: seltime:[value] | |
331 | Definition: Specifies the selection timeout value | |
332 | Possible Values: 0 = 256ms, 1 = 128ms, 2 = 64ms, 3 = 32ms | |
333 | Default Value: 0 | |
334 | ----------------------------------------------------------------- | |
335 | ||
336 | *** The following three options should only be changed at *** | |
337 | *** the direction of a technical support representative. *** | |
338 | ||
339 | ----------------------------------------------------------------- | |
340 | Option: precomp: {value[,value...]} | |
341 | Definition: Set IO Cell precompensation value on a per-controller | |
342 | basis. | |
343 | Controllers may be ommitted indicating that | |
344 | they should retain the default precompensation setting. | |
345 | Example: precomp:{0x1} | |
346 | On Controller 0 set precompensation to 1. | |
347 | Example: precomp:{1,,7} | |
348 | On Controller 0 set precompensation to 1. | |
349 | On Controller 2 set precompensation to 8. | |
350 | ||
351 | Possible Values: 0 - 7 | |
352 | Default Value: Varies based on chip revision | |
353 | ----------------------------------------------------------------- | |
354 | Option: slewrate: {value[,value...]} | |
355 | Definition: Set IO Cell slew rate on a per-controller basis. | |
356 | Controllers may be ommitted indicating that | |
357 | they should retain the default slew rate setting. | |
358 | Example: slewrate:{0x1} | |
359 | On Controller 0 set slew rate to 1. | |
360 | Example: slewrate :{1,,8} | |
361 | On Controller 0 set slew rate to 1. | |
362 | On Controller 2 set slew rate to 8. | |
363 | ||
364 | Possible Values: 0 - 15 | |
365 | Default Value: Varies based on chip revision | |
366 | ----------------------------------------------------------------- | |
367 | Option: amplitude: {value[,value...]} | |
368 | Definition: Set IO Cell signal amplitude on a per-controller basis. | |
369 | Controllers may be ommitted indicating that | |
370 | they should retain the default read streaming setting. | |
371 | Example: amplitude:{0x1} | |
372 | On Controller 0 set amplitude to 1. | |
373 | Example: amplitude :{1,,7} | |
374 | On Controller 0 set amplitude to 1. | |
375 | On Controller 2 set amplitude to 7. | |
376 | ||
377 | Possible Values: 1 - 7 | |
378 | Default Value: Varies based on chip revision | |
379 | ----------------------------------------------------------------- | |
380 | ||
381 | Example: 'options aic79xx aic79xx=verbose,rd_strm:{{0x0041}}' | |
382 | enables verbose output in the driver and turns read streaming on | |
383 | for targets 0 and 6 of Controller 0. | |
384 | ||
385 | 4. Additional Notes | |
386 | ||
387 | 4.1. Known/Unresolved or FYI Issues | |
388 | ||
389 | * Under SuSE Linux Enterprise 7, the driver may fail to operate | |
390 | correctly due to a problem with PCI interrupt routing in the | |
391 | Linux kernel. Please contact SuSE for an updated Linux | |
392 | kernel. | |
393 | ||
394 | 4.2. Third-Party Compatibility Issues | |
395 | ||
396 | * Adaptec only supports Ultra320 hard drives running | |
397 | the latest firmware available. Please check with | |
398 | your hard drive manufacturer to ensure you have the | |
399 | latest version. | |
400 | ||
401 | 4.3. Operating System or Technology Limitations | |
402 | ||
403 | * PCI Hot Plug is untested and may cause the operating system | |
404 | to stop responding. | |
405 | * Luns that are not numbered contiguously starting with 0 might not | |
406 | be automatically probed during system startup. This is a limitation | |
407 | of the OS. Please contact your Linux vendor for instructions on | |
408 | manually probing non-contiguous luns. | |
409 | * Using the Driver Update Disk version of this package during OS | |
410 | installation under RedHat might result in two versions of this | |
411 | driver being installed into the system module directory. This | |
412 | might cause problems with the /sbin/mkinitrd program and/or | |
413 | other RPM packages that try to install system modules. The best | |
414 | way to correct this once the system is running is to install | |
415 | the latest RPM package version of this driver, available from | |
416 | http://www.adaptec.com. | |
417 | ||
418 | ||
d60256b1 | 419 | 5. Adaptec Customer Support |
1da177e4 LT |
420 | |
421 | A Technical Support Identification (TSID) Number is required for | |
422 | Adaptec technical support. | |
423 | - The 12-digit TSID can be found on the white barcode-type label | |
d60256b1 | 424 | included inside the box with your product. The TSID helps us |
1da177e4 LT |
425 | provide more efficient service by accurately identifying your |
426 | product and support status. | |
d60256b1 | 427 | |
1da177e4 LT |
428 | Support Options |
429 | - Search the Adaptec Support Knowledgebase (ASK) at | |
430 | http://ask.adaptec.com for articles, troubleshooting tips, and | |
d60256b1 | 431 | frequently asked questions about your product. |
1da177e4 | 432 | - For support via Email, submit your question to Adaptec's |
d60256b1 | 433 | Technical Support Specialists at http://ask.adaptec.com/. |
1da177e4 LT |
434 | |
435 | North America | |
d60256b1 HR |
436 | - Visit our Web site at http://www.adaptec.com/. |
437 | - For information about Adaptec's support options, call | |
438 | 408-957-2550, 24 hours a day, 7 days a week. | |
439 | - To speak with a Technical Support Specialist, | |
440 | * For hardware products, call 408-934-7274, | |
441 | Monday to Friday, 3:00 am to 5:00 pm, PDT. | |
442 | * For RAID and Fibre Channel products, call 321-207-2000, | |
443 | Monday to Friday, 3:00 am to 5:00 pm, PDT. | |
444 | To expedite your service, have your computer with you. | |
445 | - To order Adaptec products, including accessories and cables, | |
446 | call 408-957-7274. To order cables online go to | |
447 | http://www.adaptec.com/buy-cables/. | |
1da177e4 LT |
448 | |
449 | Europe | |
d60256b1 HR |
450 | - Visit our Web site at http://www.adaptec-europe.com/. |
451 | - To speak with a Technical Support Specialist, call, or email, | |
452 | * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET, | |
453 | http://ask-de.adaptec.com/. | |
454 | * French: +49 89 4366 5533, Monday-Friday, 9:00-17:00 CET, | |
455 | http://ask-fr.adaptec.com/. | |
456 | * English: +49 89 4366 5544, Monday-Friday, 9:00-17:00 GMT, | |
457 | http://ask.adaptec.com/. | |
458 | - You can order Adaptec cables online at | |
459 | http://www.adaptec.com/buy-cables/. | |
1da177e4 LT |
460 | |
461 | Japan | |
d60256b1 | 462 | - Visit our web site at http://www.adaptec.co.jp/. |
1da177e4 | 463 | - To speak with a Technical Support Specialist, call |
d60256b1 HR |
464 | +81 3 5308 6120, Monday-Friday, 9:00 a.m. to 12:00 p.m., |
465 | 1:00 p.m. to 6:00 p.m. | |
1da177e4 LT |
466 | |
467 | ------------------------------------------------------------------- | |
468 | /* | |
469 | * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. | |
470 | * All rights reserved. | |
471 | * | |
472 | * You are permitted to redistribute, use and modify this README file in whole | |
473 | * or in part in conjunction with redistribution of software governed by the | |
474 | * General Public License, provided that the following conditions are met: | |
475 | * 1. Redistributions of README file must retain the above copyright | |
476 | * notice, this list of conditions, and the following disclaimer, | |
477 | * without modification. | |
478 | * 2. The name of the author may not be used to endorse or promote products | |
479 | * derived from this software without specific prior written permission. | |
480 | * 3. Modifications or new contributions must be attributed in a copyright | |
481 | * notice identifying the author ("Contributor") and added below the | |
482 | * original copyright notice. The copyright notice is for purposes of | |
483 | * identifying contributors and should not be deemed as permission to alter | |
484 | * the permissions given by Adaptec. | |
485 | * | |
486 | * THIS README FILE IS PROVIDED BY ADAPTEC AND CONTRIBUTORS ``AS IS'' AND | |
487 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY | |
488 | * WARRANTIES OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES OF MERCHANTABILITY | |
489 | * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL | |
490 | * ADAPTEC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
491 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
492 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
493 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
494 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
495 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS README | |
496 | * FILE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
497 | */ |