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