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