Changes from 6.711.04.00 to 6.711.06.00 [6.711.05.00 is INBOX Release]
1)SCGCQ01015729: CSET: Rename registry arguments so they don't have Overlapping strings - (SCGCQ01013468)
2)SCGCQ01019245: CSET: Ventura MR : Pom Data corruption with MR_PD_INFO_GET Dcmd - (SCGCQ01006869)

Changes from 6.711.03.00 to 6.711.04.00
1)SCGCQ01002829: MR6.11_FW: OS does not come up after hibernation on iMR card
2)SCGCQ01000732:Add PnP IDs for OEM


Changes from 6.711.02.00 to 6.711.03.00 
1)SCGCQ00969194 : Lenovo PR- Unaligned IOs: Observed Performance drops of 6% for 24 drive SATA JBOD and 9% for 8 drive R6
2)SCGCQ00993568 : Driver/ FW handshake on the need for coalescing depending on the workload 
3)SCGCQ00976733 : CSET: MR 6.10 Beta Perf: 24% drop x24 RAID0 with 4k,8k IO for SW with SS 64K in Higher QD 24PD-12G 4K SAS SSD W2K12-R2. - (SCGCQ00966844)


Changes from 6.711.01.00 to 6.711.02.00 
1)SCGCQ00954227): CSET: Win2k12 R2 OS getting corrupted after installing the 6.10-6.710.09.00-SCGCQ00944279 driver - (SCGCQ00952825
2)SCGCQ00936554 :MR_6.10: Region lock and length mismatch while running IO's on VD's with multipath push pull
3)SCGCQ00952877 :Sync the code with MR  6.11 code with the latest MR 6.10
4)SCGCQ00952809 :Change the Driver version from Octal/9 base to generic to build debug drivers for version 08/09

changes from 6.710.08.00 to 6.711.01.00
1)SCGCQ00943713): “unaligned IO” causes controller to hang in PI enviroment.
2)SCGCQ00932964): Powerleader: Add PnP ID for SAS3108 MROMB

changes from 6.710.08.00 to 6.710.09.00
1)SCGCQ00943713): “unaligned IO” causes controller to hang in PI enviroment.
2)SCGCQ00932964): Powerleader: Add PnP ID for SAS3108 MROMB

Changes from 6.710.07.00 to 6.710.08.00
1)SCGCQ00942766): CSET: L2/L3 Cache error whilie giving Hibernate command - (SCGCQ00939167


Changes from 6.710.06.00 to 6.710.07.00
1)SCGCQ00939172): Bug in OCR_STATE_FAILED during reinitialization
2)SCGCQ00938984:set the capability bit for 1MIO support and Dual QD support conditionally based on the maxchainsizeunits and Maxadapterqdepth
3)SCGCQ00938343:CSET: Driver does not set the supportExtQueueDepth in MFI_CAPALILITIES for DualQD support - (SCGCQ00938011)
4)SCGCQ00923193:Gongga RAID PnP IDs and Product String



Changes from 6.710.05.00 to 6.710.06.00
1)SCGCQ00935693: Limit the iMR device queue depth to 32 for the JBODs
2)SCGCQ00929333:Increase the Timeout Value of DCMDs to 180 seconds for Sleep and Shutdown during aborting Pended Commands .
3)SCGCQ00928866:New FW/Driver release for Rackspace Barreleye 3108 ROMB Mezz card
4)SCGCQ00929450-Don't collect AENs from Shutdown after OCR
5)SCGCQ00929431-Add a check in StartIO if the pending fw command becomes greater than maxsrbrequests to throttle the IOS





Changes from 6.710.04.00 to 6.710.05.00
1)SCGCQ00919204 : MR6.10 Perf: For 40drive 12Gig4KSASHDD Performance drops of 15-34% for Seq. R/W with 4/16/32 IO size QD 1-256 Win2K12R2
2)SCGCQ00925476: Assignment of LOG_TO_SPAN pointer may lead to BSOD
3)SCGCQ00918009 : CSET: eSDS:LunTargetReset is currently not supported for EPD in windows environment. - (SCGCQ00906726)
4)SCGCQ00923263 :CSET: Lenovo-BSOD-On downgrading form Package 24.8.0-0035 to 24.6.0-0040 - (SCGCQ00919225)
5)SCGCQ00922647:CSET: MSI: Add MSI PnP ID to 3008iMR release. - (SCGCQ00918463)

Changes from 6.710.03.00 to 6.710.04.00
1)SCGCQ00914249 - CSET: MR6.9RCPerf:For 12Gig4KSAS&6GigSATAHDDs 21-85% drops for 24&40PD JBOD's in Seq. R/W Random R/W for all IO size with QD 64,256 - (SCGCQ00911784)

Changes from 6.710.02.00 to 6.710.03.00 
1)SCGCQ00908234): Set noBusyWait should be set to false only if MaxSrbs < 1000.
2)SCGCQ00906960): iMR/Cutlass Can't format The Partition In Windows As Well As During OS Installation


Changes from 6.710.01.00 to 6.710.02.00 
1)SCGCQ00897819 - MR WINDOWS  iMR Queue Depth change to 928(Long term)
2)SCGCQ00892114 -Fixes static code analysis bugs reported by Coverity
3)SCGCQ00896266 - Coalescing: Do not coalesce across the stripe for Fastpath capable IOs for LDs 


Changes from 6.709.10.00 to 6.710.01.00 
1)SCGCQ00888893): 3216 IMR: Add Support for OEM IMR Board
2)SCGCQ00877516): Try to improve Raid-0/Raid-1 performance avoiding CUDA region lock (Try to meet JBOD numbers)
3)SCGCQ00891299): CSET: 3316 MR: Add Support for OEM MR Board - (SCGCQ00888891)



Changes from 6.709.09.00 to 6.709.10.00 
1)SCGCQ00883872: MR 5.14: Machine reboot observed when a drive member is made offline from the OS utility(MSM)
 
Changes from 6.709.08.00 to 6.709.09.00 
1)SCGCQ00878140-ASRock Rack: Add ASRock Rack PnP ID to 3108 ROMB MR release.
2)SCGCQ00880437-Set the Device Queue depth based on SAS/SATA  Device type.
3)SCGCQ00881579-CSET: ThinkServer TD350: BSOD or system hung when update 510i FW by MSM under Win2012R2 - (SCGCQ00871571)
4)SCGCQ00886157-CSET: Driver INF verifcation test failure - (SCGCQ00869453)
5)SCGCQ00884609-Add Inspur PnP IDs(2GB,4GB) into 3108 MR windows driver MR6.7 and MR6.7+

Changes from 6.709.07.00 to 6.709.08.00 
1)SCGCQ00879671: Reduce the check for MAX SGEs in the coalescing algorithm from maximum number of physical breaks to max coalesced io size.
2)SCGCQ00878070): MR_6.9_Driver:Unexpected shutdown is reported On Avalion-3 server with windows2012 R2 64 Bit  during S4 sleep
3)SCGCQ00878140:ASRock Rack: Add ASRock Rack PnP ID to 3108 ROMB MR release.
4)SCGCQ00869113:Windows vNext Server TP2

Changes from 6.709.06.00 to 6.709.07.00
SCGCQ00872018: MR6.9: Windows 2012 R2 OS crashing after perfoming multiple BG operations on 64 VD's with background IO's
SCGCQ00871878: CSET: Logging Critical Events in Windows Event Logger. - (SCGCQ00868734)

Changes from 6.709.05.00 to 6.709.06.00
SCGCQ00869496: MR: system doesn't come up or kill all the app's on initiating the target reset and hibernate at the same time.
SCGCQ00869511: Handling the Task Management request issued to the VDs

Changes from 6.709.04.00 to 6.709.05.00 
SCGCQ00867584: MR_6.9: FW received "tmType 0" , result to MonTask: line 2317 in file ../../raid/cmd.c

Changes from 6.709.03.00 to 6.709.04.00 
SCGCQ00856764-Align the next reply queue to a factor of 16 and Process the Reply descriptor in two 32-bit Dwords instead of single 64 bit .

Changes from 6.709.01.00 to 6.709.03.00
SCGCQ00854636: Task management support for JBOD/sysPD to Windows drivers (follow-on to PR SCGCQ00687438) 

Changes from 6.708.07.00 to 6.709.01.00 
SCGCQ00853363 - Add new PnP ID into NVDATA for customer new product into MR6.6patch and UP

Changes from 6.708.06.00 to 6.708.07.00
SCGCQ00840767: MR6.8_FW : IOs activity on VDs goes for complete freeze and unresponsive after overnight OCR and JBOD on-off switch.
SCGCQ00850132: MR_6.8_Driver: OCR is not happening after 180 secs if 'PD List Query 'DCMD is timed out on windows

Changes from 6.708.05.00 to 6.708.06.00 
SCGCQ00840279: Fatal firmware error: Driver detected possible FW hang, halting FW

Changes from 6.708.04.00 to 6.708.05.00
SCGCQ00837484	MR_6.8_Driver:Unexpected shutdown is reported On Avalion-3 server with windows8 64 Bit  during S4 sleep
SCGCQ00838379	Add a sanity check in BuildIO for  GroupMaxDepth > 1 when setting canGroup if you have coalescing disabled .


Changes from 6.708.03.00 to 6.708.04.00 
SCGCQ00829169 : iMR MonTask: line 1276 in file ../../raid/1078dma.c while doing ocr when IOs are running on JBODs
SCGCQ00827000 : Hibernation fails as StorPortGetUncachedExtension routine unable to allocate required memory
SCGCQ00826062 :D32903: Wrap the Debug prints under a debug macro  For  Windows Driver
SCGCQ00831366 :CSET: ASUSTek: Add ASUSTek PnP ID to 3108 ROMB MR release. - (SCGCQ00828918)


Changes from 6.708.02.00 to 6.708.03.00
SCGCQ00824116: Sequence JBOD's are not exposed to OS.
SCGCQ00824414: Change in OCR handing code when DCMD issued in Interrupt mode timeouts.

Changes from 6.708.01.00 to 6.708.02.00
SCGCQ00806523: MFI command timeout has to be handled with OCR
SCGCQ00813454: Rebranding effort for System X - MR 6.6 PnP Additions for Lenovo System X
SCGCQ00819305: MR6.8: Windows System continuous rebooting by itself after upgrading driver from MR 6.7(6.707.05.00 ) to MR 6.8(6.708.01.00)

Changes from 6.707.06.00  to 6.708.01.00 
SCGCQ00818399: Modify the Dynamic Queue Depth Calculation for MR WINDOWS DRIVER
SCGCQ00806536: Use sequence number for JBOD FastPath I/O’s to eliminate command block after drive replacement
SCGCQ00816315: Large I/O Suport - suport 1MB transfer size


Changes from 6.707.05.00 to 6.707.06.00.
SCGCQ00816512: Remove the OS version as "Version " and make it as a blank for the IOCTL MR_PCI_DRIVER_INFORMATION
SCGCQ00813530: MR6.7:  Align Windows Driver  with Avago Nomenclature
SCGCQ00814585: Sysncro CS 2.2 with Driver source code ver-6.707.05.00 doesn't support for ExclusiveAccess on Node 2
SCGCQ00810668: CS2.2:Continueos prints "Out of range devHandle " for removing multipath till it is connected back.

Changes from 6.707.04.00 to 6.707.05.00 
SCGCQ0081018 : CS2.2: After creating the cluster role quorum Disks observing Multiple in the Disk management of the non-owning node
SCGCQ00795404 :Ignore handling of stale AEN, generated due to ungraceful shutdowns

Changes from 6.707.03.00 to 6.707.04.00 
 SCGCQ00797383-Creation of a new Liberator Product SKU - taking 9260 and creating a 9250
 SCGCQ00797815-CS2.2:Driver package not listing the Model of"LSI Syncro CS 9380/9361
 SCGCQ00804300-Load balancing implemented for Remote LDs gives a BSOD on a non-owning node.
 SCGCQ00805049-CSET: Time IOs from arrival to Completion in case of DBG - (SCGCQ00752265)


Changes from 6.707.02.00 to 6.707.03.00
SCGCQ00795404 : Ignore handling of stale AEN, generated due to ungraceful shutdowns.
SCGCQ00795006 : CSET: Support updating Controller properties after Adapter initialization. - (SCGCQ00792008)
SCGCQ00795009 : CSET: CS2.0: FastPath IO Shipping should use both the paths. - (SCGCQ00747695)

Changes from 6.707.01.00 to 6.707.02.00
SCGCQ00791484 : Handle delayed posting of DCMDS by FW during initialization
SCGCQ00791143 : Syncro 2.1 SSHA: Can not perform OS init on 2xR1 with fastpath after VDs creation
SCGCQ00791468 : Fix issues found by PreFAST|vghosalk
SCGCQ00784723 : MR driver calling StorPortGetPhysicalAddress incorrectly
SCGCQ00790690 : Reduce the Device Extension Size by removing the unused arrays in the MR WINDOWS DRIVER|rkulkar|Resolved|
SCGCQ00789403 : Remove the setting of Dma32BitAddresses to FALSE Value in the MR WINDOWS DRIVER|rkulkar|Resolved|

Changes from 6.706.05.00 to 6.707.01.00
1) SCGCQ00787913): Add PnP ID for Mitac MROMB

Changes from 6.706.04.00 to 6.706.05.00
1) SCGCQ00759662): 51.3alpha package 1- Firmware halted. Fault code = 0x80
2) SCGCQ00785436): CSET: Bug in OCR code - (SCGCQ00783015)
3) SCGCQ00783608): Add new Inspur 3008 iMR PnP ID and NVDATA to the next MR6.2 ( and later streams ) release package and megaRAID Windows driver

Changes from 6.706.03.00 to 6.706.04.00 
1) SCGCQ00767982- Improving source code quality of Windows Driver stream using results obtain from running static code analysis
2) SCGCQ00768005): Bug in Synchronized OCR, wrong State initialized

Changes from 6.706.02.00 to 6.706.03.00 
1) SCGCQ00760160): Set the Proper Flag for NON-RW Flags for SED JBOD

Changes from 6.706.01.00 to 6.706.02.00 
1) SCGCQ00759892: Set the version field in PERF_CONFIGURATION_DATA Structure during Initializiation .
2) SCGCQ00711558): RRB 71 - enable SED support for iMR JBOD
3) SCGCQ00747428 : copy right Change
4) SCGCQ00726739: Enhance Driver debug prints to differentiate multiple controllers on a system

Changes from 6.705.05.00 to 6.706.01.00 
1) SCGCQ00712518- Increase the number of SGEs in MR WINDOWS DRIVER from 64 to 65.
2) SCGCQ00712490 - Ability to read PCI Domain/Segment information via storelib
3) SCGCQ00651432 - MFI_STAT_CONFIG_SEQ_MISMATCH handling in drivers

Changes from 6.705.04.00 to 6.705.05.00 
1) SCGCQ00751161: MR_240vd_Driver:Latest not detecting controller through storcli

Changes from 6.705.03.00 to 6.705.04.00 
1)SCGCQ00726053- Significant Write performance drop in WT, and Read performance drop in NoRA 

changes from 6.705.02.00 to 6.705.03.00
1)SCGCQ00692581	Device ID to be not updated correctly in the OEM PnP ID in the ONF file according to SCGCQ00628151.
2)SCGCQ00703058	Correct the comments for the Coalescing code  to reflect the correct functionality.
3)SCGCQ00705236	Correct the Driver version in the INF file for MR 6.5 WINDOWS DRIVER
4)SCGCQ00716428	Enable/Disable the  MSIX interrupts before writing down the PCI bridges  for  S3 sleep states



Changes from 6.705.01.00 to 6.705.02.00 
1)SCGCQ00703058): Correct the comments for the Coalescing code  to reflect the correct functionality
2)Ported the fixes from MR 6.4

Changes from 6.704.11.00 to 6.704.12.00 
1)SCGCQ00673345: MR5.11-Windows Blue screens with Stop 9F error while running heavy IO with media error injections and Rebuilds

Changes from 6.704.10.00 to 6.704.11.00 
1)SCGCQ00687352: MR-6.4-Configuration loss is seen when you have multiple VD's with overnight IO's and learn cycles with OCR

Changes from 6.704.09.00 to 6.704.10.00
1)SCGCQ00682870 : R/W performance drop in R0 RA large QD, Mid size data, 20 or more drives
2)SCGCQ00686265 : Updating the driver code with neccessary change required for hibernation.

changes from 6.704.08.00 to 6.704.09.00.
1)SCGCQ00627960: System Reboots while going into Hibernation.

Changes from 6.704.07.00 to 6.704.08.00 
1)SCGCQ00664600: MR_6.4_Driver:Observing performance drops in SR 256kb I/O size 64 and 256 QD
2)SCGCQ00678549: Sync MR 6.4 INF File from 6.2 and 6.3 updates.
3)SCGCQ00673345: Windows Blue screens with Stop 9F error while running heavy IO with media error injections and Rebuilds
4)SCGCQ00661683: Read Performance drop in 2R1
4)SCGCQ00678364: Add proper Alignment mask for  allocating Noncached Extension Buffers.

Changes from 6.704.06.00 to 6.704.07.00 
1)SCGCQ00660305): Windows Blue screens with Stop D1 error while running heavy IO on 16VD R6 using all stripe sizes
2)SCGCQ00660298): 5.11 FW 23.29.0-0007/Windows Driver 6.704.06.00/PRL11 4k Install not able to boot into uEFI OS after install

Changes from 6.704.05.00 to 6.704.06.00 
1)SCGCQ00649373: CSET: Controller firmware crash / hang after cache offload with RAID6 / 60 - (SCGCQ00648947
2)SCGCQ00648461: Set the MAX SGEs supported by Windows  driver to 65 to increase the IO size from 252K to 256K.
3)SCGCQ00655886: Data corruption seen after upgrading Windows driver and running IO on R5.
4)SCGCQ00640670: MR 6.4: Not able to mount R5 and R6 WT VD's on Disk Management
5)SCGCQ00656700: code review 31804: reset the timer flags after OCR is complete

Changes from 6.704.04.00 to 6.704.05.00 
1)SCGCQ00644283: CSET: MR5.10 firmware faults during performance test - (SCGCQ00634900)
2)SCGCQ00620014: MR6.3_240VD: 65th VD not getting detected under disk management
3)SCGCQ00644275: Add MFI Capability bit in  MR_WINDOWS_DRIVER to support Load Balancing 

Changes from 6.704.03.00 to 6.704.04.00
1)SCGCQ00634869: Load  balancing reads on >2 drive R1 for SSDs to improve  Performance
2)SCGCQ00635676: TB240VD support : Drivers need to set the supportMaxextLD bit in MFI _CAPABILITIES structure
3)SCGCQ00628316: Code review defect : D25554 : Not checking the correct state of the WDT ocr while doing OCR

changes from 6.704.02.00 to 6.704.03.00 
1)SCGCQ00627133: Merge MR 6.3 GCA  +  MR 6.3 240 VD support into mainline MR 6.4

changes from 6.704.01.00 to 6.704.02.00
1)SCGCQ00588587: Syncronize the OCR State Machine with the Initilization of Adapter
2)SCGCQ00588443: Add the correct number of Alignment buffers to NonCached Extension Length while allocating memory for DCMDs

changes from 6.703.01.00 to 6.704.01.00
1)SCGCQ00550383: WebCloud Group - Write Caching HBA, JBOD/R0 supported TB controller with 240 SystemPD/LD support

2/14/2014 - 6.703.02.00 updated with the following PNP Ids.
1)SCGCQ00621838: Add PnP ID for Invader 9364-8i card to setup new Lenovo SKU

1/31/2014- 6.703.02.00 updated with the following PNP Ids. 
1)SCGCQ00601679: Lenovo-Antares-Pele:-Mismatch in the controller Name in Driver and FW
2)SCGCQ00592544: PNP ID Addition for ASRock's 3008iMR Design to be included in 6.3 release for Q1 2014
3)SCGCQ00610106: Sync PNP Ids from MR 6.2 , MR 6.1 into MR 6.3.

Changes from 6.703.01.00 to 6.703.02.00 
1)SCGCQ00587389: CSET: DELL UT: Failover Test: IOs stop running due to data mis-compares. - (SCGCQ00530895)
2)SCGCQ00579693: MR 5.8 Windows latest GCA or Point release driver needs to be released with Galaxy specific PnP ID
3)SCGCQ00586370: Sync PNP IDs from MR 5.x stream &  from Point Releases  into MR 6.3 stream

Changes from 6.702.07.00 to 6.703.01.00 
1)SCGCQ00559549: Rebuild the IO for a SysPD Device if there is a change in the Raid Map update between BuildIO and StartIO.

Changes from 6.702.06.00 to 6.702.07.00 
1)SCGCQ00560831: Drop seen for small IOsize with 6.2 components  compared to 6.0 components

Changes from 6.702.05.00 to  6.702.06.00 
1)SCGCQ00524025: IO errors while running IOs on JBODs
2)SCGCQ00526775: MR6.2: BSOD on installing OS on JBOD and running IO on volumes and Jbods

Changes from 6.702.04.00 to 6.702.05.00 
1)SCGCQ00523629: CSET: MR_6.2_Segnius: Data Corruption observed on JBODs while running IOs with 32k block size. - (SCGCQ00497899)
2)SCGCQ00518303: CSET: MR 6.1: Add support for Cisco Device IDs - will need Cisco specific patch. - (SCGCQ00505802)

Changes from 6.702.03.00 to 6.702.04.00 
1)SCGCQ00490946: Lenovo RAID 520 Bring Up Support (Add PnP IDs)
2)SCGCQ00490948: Lenovo RAID 720 Bring Up Support (Add PnP IDs)
3)SCGCQ00490951: Lenovo RAID 720EXP Bring Up Support (Add PnP IDs)
4)SCGCQ00505219: Driver is coalescing Across stripe resulting in degradation of performance

Changes from 6.702.02.00 to 6.702.03.00 
1)SCGCQ00495136: Revert the coalescing start values for  LSI Windows Driver back to original to 4 
2)SCGCQ00487982: CSET: Driver timer not going to zero properly after proper timeout period. - (SCGCQ00487966)

Changes from 6.702.01.00 to 6.702.02.00 
1)SCGCQ00465409: MR 6.2 - Windows Blue (V.next)
2)SCGCQ00465443: MR 5.9 - Windows Blue (V.next

Changes from 6.701.05.00 to 6.702.01.00 
1)First Release of MR 6.2 Driver. 

Changes from 6.701.04.00 to 6.701.05.00
1)SCGCQ00470038: CSET: (MS:344466)Perc5:KMODE_EXCEPTION_NOT_HANDLED (1e)in storport!DmaGetVirtualAddressForSgl+0x1a; Megasas overrun on boot - (SCGCQ00469573)
2)SCGCQ00473745: CSET: OEM SKU of Syncro CS 9271-8i that disables PCIe3 back channel training - (SCGCQ00473190)

Changes from 6.701.03.00 to 6.701.04.00 
1)SCGCQ00450281: Found shutdown node stuck and black out screen when Windows should reboot with driver 6.701.00

Changes from 6.701.02.00 to 6.701.03.00 
1)SCGCQ00452098: Small Sequential Reads and Writes - driver changes for delta with TB
2)SCGCQ00461046: MR_WINDOWS_DRIVER 6.701.02.00  fails Windows BLUE HCK SCSI Compliance 2.0 Test on Client x86 with Liberator/TB/Invader
3)SCGCQ00460733: Send MR_DCMD_CTRL_SHUTDOWN during shutdown and reboot for MR Windows Driver

Changes from 6.701.01.00 to 6.701.02.00 
1)SCGCQ00407188: HAMR - (TC#39673.1)MfiDriverSyncRequiredSet - Driver ldsync required message after OCR with Pinned Cache
2)SCGCQ00415314: Timeout with IPL_LOGINFO_CODE_IO_NOT_YET_EXECUTED while running IOs on Intel SSD

Changes from 6.701.00.00 to 6.701.01.00 
1)SCGCQ00441004: MR Liberator : BSOD observed on triggering OCR
2)SCGCQ00441620: CSET: Add Defiant 4e PnP IDs to MR 5.4 & 5.5 - (SCGCQ00375433)
3)SCGCQ00441623: CSET: Add Galaxy PnP IDs to MR 5.5 & 5.6 - (SCGCQ00375473)

Changes from 6.601.15.00 to 6.701.00.00 
1)SCGCQ00433930: Fileversion and Productversion in driver properties dont sync up
2)SCGCQ00434761: code review D17993: incorrect comment in the script for drvdate.cmd

Changes from 6.601.14.00 to 6.601.15.00
1)SCGCQ00403116: Merge HA Windows driver support to MR (mainline)driver code
2)SCGCQ00433930: Fileversion and Productversion in driver properties dont sync up
3)SCGCQ00433750: CSET: After OCR due to timeouts, IOs are still blocked. - (SCGCQ00433749)
4)SCGCQ00433745: CSET: Regression in Spinlock Spins/sec with new megasas.sys driver (MS bug Id 149720)- (SCGCQ00425873)

Changes from 6.601.13.00 to 6.601.14.00 
1)SCGCQ00421253: CSET: Perc9 :: I/O's became unresponsive after triggering OCR - (SCGCQ00419719)

Changes from 6.600.19.00 to 6.601.13.00 
1)SCGCQ00404214: Add 3008 device ID for iMR product - Catera - Hamlin
2)SCGCQ00412803: MR6.1: Hamlin:  Can't Install 6.600.18.00 Windows Driver

Changes from 6.600.18.00 to 6.600.19.00 
1)SCGCQ00402788: Fury C0 iMR SSD JBOD poor IOps performance compared to IT/IR
2)SCGCQ00413636: CSET: New 5.2.116 Windows Driver had  half performance of 5.1.112 - (SCGCQ00342352)
3)SCGCQ00408818: CSET: DUP 7.2 framework does not work with SATA drives under Windows Server 2012 - reports error 8009 - (SCGCQ00399736)
4)SCGCQ00414925: Beta :Perform Build Process for MR_WINDOWS_DRIVER 6.600.19.00

Changes from 6.600.17.00 to 6.600.18.00 
1)SCGCQ00406532: IO Command timeout value for TAPE devices need to be set from OS instead of  default timeout value of CUDA.

changes from 6.600.16.00 to 6.600.17.00 
1)SCGCQ00402490: MR: system hang or lag is hit on removing the SSD-cache vd while IO is running
2)SCGCQ00402255: INTERRUPT EXCEPTION NOT HANDLED (megasas2.sys)

Changes from 6.600.15.00 to 6.600.16.00 
1)SCGCQ00399853: Out of Bounds Read for fucntion CompleteScsiRequest and updateIometric .This is a Coverity defect
2)SCGCQ00400113: Limited number of MSI-X interrupt vectors assigned to Invader C0 adapter in Windows
3)SCGCQ00392176: System crash during Seq Reads
4)SCGCQ00397923: Invader: Inconsistency in controller name display between Device manager and MR applications
5)SCGCQ00354616: The 4-port Arcturus board should be renamed to 9361-4i and Nekkar be renames 9360 8i/4i
6)SCGCQ00399052: OEM Fury iMR RoMB PnP ID addition to MegaRAID softwares.

Changes from 6.600.14.00 to 6.600.15.00 
1)SCGCQ00392108: Add support for Intel 12Gbit/s SAS MegaRAID, iMR, and IT/IR adapters, to Windows & Linux Drivers, and MSM/RWC utility

Changes from 6.600.13.00 to 6.600.14.00 
1)SCGCQ00390957: Add new PCI ID
2)SCGCQ00391739: Request to change the Perc9 Subsystem Device IDs

Changes from 6.600.12.00 to 6.600.13.00 
1)SCGCQ00386647: Perc9 Pre-Alpha- MR_WINDOWS_DRIVER 6.600.12.00 in Dell 12g server, the server never boots to OS, keeps rebooting itself.
2)SCGCQ00387275: R1 64K SR 64QD is 38% down with FP enabled

Changes  from 6.600.11.00 to 6.600.12.00 
1)SCGCQ00382594: The hibernation (s4 sleep state) is not working on windows server 2012
2)SCGCQ00386111: Add PnP Ids  for IBM Catera Kong iVB, this should be added to Windows Drivers.
3)SCGCQ00386120: Add Multiphase Resume Feature For Windows 8 Driver .

Changes from 6.600.10.00 to 6.600.11.00
1)SCGCQ00378958: BSOD (D1) “DRIVER_IRQL_NOT_LESS_THAN_EQUAL", during installing windows2003 X64 os on Invader board

Changes from 6.600.09.00 to 6.600.10.00 
1)SCGCQ00361248: RRB52: Boot the system to iMR mode if NVRAM is not initialized for Catera
2)SCGCQ00368375: Support additional MSIX vectors on Invader C0
3)SCGCQ00368388: OS Installation Problem
4)SCGCQ00374854: The replies are not being processed from the MSI-x queue which is resulting f/w to hit the msgoverflow ISR

Changes from 6.600.08.00 to 6.600.09.00 
1)SCGCQ00371968-Error handling in "get_arm_from_strip " and "get_arm" for PRL11 Configuration
2)SCGCQ00352429-Hardware Malfunction BSOD in Windows during second rebuild.

Changes from 6.600.07.00 to 6.600.08.00 
1)SCGCQ00364039: Wrong Calculation in Start_lba span for Monkey Math PRL11 Configuration.
2)SCGCQ00365382: The Size of the DCMD buffer passed to the FW was less during the Driver Initialization .
3)SCGCQ00362975: IF User follows the user Guide in this release, BSOD and system OS rebuild is needed.
4)SCGCQ00361143: invader: After updating the windows driver to the latest release, firmware logs still show the old version of driver.

Changes from 6.600.06.00 to 6.600.07.00
1)SCGCQ00319108: Monkey Math - Close R10 holes ( PR - SCGCQ00295837 ).

Changes from 6.601.12.0 to 6.600.06.0
1)SCGCQ00357251: Add 3108 device ID for Catera - Flatwoods-e(PR SCGCQ00356047)
2)SCGCQ00354616: The 4-port Arcturus board should be renamed to 9361-4i and Nekkar be renames 9360 8i/4i

Changes from 6.601.11.0 to 6.601.12.0
1)SCGCQ00342417: Performance drop in 256 KB seq. Write by driver 

Changes from 6.601.10.0 to 6.601.11.0
1)SCGCQ00330474: System fails to wake up from m S3 sleep.
2)SCGCQ00330224: System fails to wake up from Hibernate.
3)SCGCQ00329951: WHQL:Hibernation related test cases (CHAOS and Sleep & Pnp) fails.
4)SCGCQ00330366: WHQL:Crashdump support test fails.

Changes from version 6.601.9.0 to 6.601.10.0
1)SCGCQ00279284		Invader DIF: Hit Montask when formatting VD's under Windows 2003 x86

Changes from version 6.601.8.0 to 6.601.9.0
1)SCGCQ00320491		MR_inv B0 : Win_2k8_R2 hits blue screen when installing/uninstalling MR windows driver 6.601.7.0
2)SCGCQ00320473		iMR: BSOD while creating R10 with spundown drives.

Changes from version 6.601.7.0 to 6.601.8.0
1)SCGCQ00319076		Driver failed to install on Liberator(9280) controller as primary
2)SCGCQ00323002		Update qdepth for jbods min and max values.

Changes from version 6.601.6.0 to 6.601.7.0
1)SCGCQ00300056		iMR Support : Add support for setting the queue depth dynamically for PD’s based on the number of configured devices (JBOD)

Changes from version 6.601.4.0 to 6.601.5.0
1)SCGCQ00278033		iMR: PL fault causing iMR FW to crash while running setup.exe from SATA DVD ROM

Changes from version 6.601.3.0 to 6.601.4.0
1)SCGCQ00299011		WHQL Common Scenario Stress with IO Test fails with TB Driver 5.2.127 on Vista x86_64
2)SCGCQ00299010		WHQL Sleep Stress Test fails with TB Driver 5.2.127 on Vista x86_64
3)SCGCQ00305390		(PR SCGCQ00304297) Enhance all MR SAS Windows drivers to support Intel expander backplanes
4)SCGCQ00280583		BSOD with error code A0 when entering S4
5)SCGCQ00307309		Windows CrashDump Issue in JBOD Mode
6)SCGCQ00310941		Win8\2012 OS support for MR driver
7)SCGCQ00312208		Windows JBOD FastPath IO support for SysPD

Changes from version 6.601.2.0 to 6.601.3.0
1)SCGCQ00297595		The windows driver unable to pump more than 20 outstanding commands per disk.
2)SCGCQ00301743		performance test setup seeing a crash on 6.601.2.0

Changes from version 6.601.1.0 to 6.601.2.0
1)SCGCQ00259242		4K sector support for Windows 8
2)SCGCQ00294806		LSIP200229542: Enable FP for JBODs on Invader for Windows Driver

Changes from version 6.601.0.0 to 6.601.1.0
1)SCGCQ00293136		MR 5.4 iMR JBOD improvements.

Changes from version 5.2.127 to 6.601.0.0
*> New version nomenclature 
1)SCGCQ00288462		Adding iMR Fury devices.

Changes from version 5.2.125 to 5.2.127.
1)SCGCQ00280848		Updating Win2k8x32 & Vistax32 driver from 5.2.119 to 5.2.125 fails with "This device can not start (Code 10)." message
2)SCGCQ00292029		PR LSIP200232728 : Add LSI MegaRAID 9271-4i device ID

Changes from version 5.2.124 to 5.2.125.
1)SCGCQ00278761		Huawei device 0x2208 added to Windows driver supported list
2)SCGCQ00260160		MSM 12.01.03.00\Alerts are not giving proper windows version.

Changes from version 5.2.119 to 5.2.124.
1)SCGCQ00243559		Driver setting the region lock type even when FW informs driver to bypass lock
2)SCGCQ00268839		SuperMicro device ID C690 should be 0690
3)SCGCQ00264491		512e drive support for MR Windows Driver
4)SCGCQ00269250		New device IDs

Changes from version 5.2.116 to 5.2.119.
1)SCGCQ00261879		DIF support for Thunderbolt MR controllers
2)New Devices added
	SCGCQ00261881	Add PnP for CC enabled 8-port Thunderbolt D1 SKU
	SCGCQ00261883	Add PnP for CC enabled 8-port ext. Thunderbolt D1 SKU

Changes from version 5.2.112 to 5.2.116.
1)SCGCQ00255185 	Sub device 0xD204 of sub vendor 0x19E5 missing
2)SCGCQ00252665		Driver 5.2.112 megasas2.inf file is missing SSDID - 92A0,92A1
3)SCGCQ00250757		TB Windows driver : Sequential Write performance drops significantly.
4)SCGCQ00247489		IOs stop sporadically with outstanding IOs.
5)SCGCQ00246917		With 5.2.112, wrong version display with "msinfo32"
6)New Devices added
	SCGCQ00248658	2208 MROMB Design Asustek - Pike-2208 Program
	SCGCQ00249402	Catera MantaRay
	SCGCQ00249403	Catera Shikra
	SCGCQ00249405	MR 2208 MROMB PnP IDs --  Gigabyte
	SCGCQ00249406	Quanta will implement MR 2208 RAID stack embedded for LSI 2208

01/11/12
Changes from version 5.2.108 to 5.2.112.

Bug fixes:

1) Reboot fix.		NULL pointer now checked before attempting coalescing.
2) Device queues.	Removed setting device queues for physical devices - path 0.
3) Additional IOCTLs.	Added getting and setting driver parameters from userland.
4) MSIqueue fix.	Was treating Registry MSIqueue depth as boolean verses unsigned char.



12/15/11
Changes from version 5.2.100 to 5.2.108:

1) Coalescing data corruption fix (LSIP200187882).
2) Initialization timeout increase from 5 to 60 seconds.
3) OCR bug fix – from looking at entire 32 bits, to just the firmware status bits (4).
4) Rajesh’s shutdown/hibernate fix.
5) Registry settings – tried to simplify a bit from enabling a disable bit which enables a feature.
6) SRB validation to verify correct data transfer size in accordance with the CDB.
7) Fix corrupted nodev.inf, clearcase was interpreting /000 in file and doing a binary conversion on check in.
	File was removed and file with /000 removed was checked in.
8) Add new devices for the following IRs:
	LSIP200210064
	LSIP200210067
	LSIP200210070
	LSIP200210073
	LSIP200210076
	LSIP200210081
	LSIP200210839
	LSIP200211226
	LSIP200211229

9/14/2011
Changes from version 5.2.98 to 5.2.101:

1) Revert to legacy coalescing logic to address corruption found during TB-iMR testing.
2) Add device ID for LSIP200199151 and LSIP200196829.

8/23/2011
Changes from version 5.2.98 to 5.2.100:

1) Removed clearing entire SRB extension (added in 5.2.82).
2) Added "NoCoalPerLD" registry switch to use IO count across LDs for coalescing starting trigger, 
   and to flush all chains depending on the number of completions and the total number of outstanding
   IOs across all LDs. This was the original algorithm used in MR drivers.
3) Added "NoBusyWait" registry switch to not call StorPortBusyWait() when submit queue is full
   (iMR products only), and instead just return IO BUSY with QUEUE_FULL.
4) Update metrics on all RW IOs, not just coalesced ones.

8/12/2011
Changes from version 5.2.96 to 5.2.98:

1) Flushing the clear state change interrupt for Fusion controllers (TB/Invader).
2) Work around for firmware defect #187580: always use IEEE SGL for Fusion controllers.
2) Invader only: add MR_RL_FLAGS_SEQ_NUM_ENABLE flag to region lock for LD IO as well as FP IO.

8/04/2011
Changes from version 5.2.94 to 5.2.96:

1) Wrap MSI message used if not enough queues supported, instead of defaulting to 0.
2) Fixed nodev.inf, which did not install virtual device because of format issue in file.
3) PnP ID updates for LSIP200186694
4) Add enclosure devices for LSIP200187219

8/02/2011
Changes from version 5.2.92 to 5.2.94:

1) Fixed OCR to synchronize with MSI interrupts.

7/28/2011
Changes from version 5.2.90 to 5.2.92:

1) Defect 186626: Fixed Invader chain bug introduced with version 88.

7/26/2011
Changes from version 5.2.88 to 5.2.90:

1) Do not use DPC until initialized.
2) Fixed OCR which became broken with version 82.
3) Removed unnecessary repeated calls to StorPortInitialize() in DriverEntry().

7/22/2011
Changes from version 5.2.82 to 5.2.88:

1) Added more devices in INF file (renamed to oemsetup for now).
2) Fixed issue with 1068 controller: cannot use 64-bit registers.
3) Check for SMID=0 to avoid accessing inappropriate memory addresses.
4) Clear SGE flags for Invader in actual packet in allocated memory, not just Srb extension.
5) Fixed bug that completed IOCTL request that was saved for deferred execution because of queue full (only hit on Falcon).
6) Added registry switch to max set number of IOs on Raid1 arm before switching to other arm, name is "BalanceCount", default is 16.

7/19/2011
Changes from version 5.2.82 to 5.2.84:

1) New INF files.

7/12/2011
Changes from version 5.2.78 to 5.2.82:

1) Added support for Invader controller.
2) Added support for 64-bit addresses for I2O controllers (pre-TB), which will allow for SRBs in upper memory (new in Win8).
3) Reworked OCR code to cancel all outstanding IOs when killing adapter (previous using banned interface to do the same thing).
4) Reworked the INF files to allow internationizing the install disk string, and cleaning it up some as well.

6/30/2011
Changes from version 5.2.76 to 5.2.78:

1) Reworked metrics code again to support original CLI data retrieval algorithm.
2) Removed used of SCSISTAT_QUEUE_FULL when busying IOCTLs or commands during reset/restart.
3) Allow returning overrun status on non-RW IOs for snapshot drivers.
4) Removed auto-sense support when in hibernate/memdump mode.
5) Added nodev.inf file for enclosure string support.

6/27/2011
Changes from version 5.2.74 to 5.2.76:

1) Added Dell devices to INF, using Strings section for localization.
2) Fix metrics code to just return the size when the buffer is not large enough for the data.
3) Complete IOs as BUSY that are returned with MFI_STAT_CONFIG_SEQ_MISMATCH from firmware to have them retried by Windows.
4) Converted calls to StorPortCompleteRequest(...BUS_RESET) to StorPortNotification(RequestComplete,...) to reset all SRBs and sync with port driver.

6/16/2011
Changes from version 5.2.70 to 5.2.74:

1) Fixed bug in CDB conversion that created "RAW" volumes.
2) Fixed bug with VendorId=0x1028 DeviceId=0x0015 that made it unsupported previously.
3) Added new devices to INF file, and fixed issue with non-MSI controllers not being supported for x86 Windows versions.
4) Cleaned up code that handles Raid1 load balancing, now using FP LBA instead of logical LBA for calculations.

6/10/2011
Changes from version 5.2.66 to 5.2.70:

1) Fixed bug in CDB conversion that fails on LDs that are >2TB.
2) Changed the default to use NUMA (now must use "NoNuma=1" to disable).
3) Simplified adapter.h defines, and now returning generic OS name/version strings for IOCTLs.
4) Converted calls to StorPortCompleteRequest(...BUS_RESET) to StorPortNotification(RequestComplete,...) to reset all SRBs and sync with port driver.
5) Now using call to RtlIsNtDdiVersionAvailable() to test for Server 2003 instead of calling the depricated function IoIsWdmVersionAvailable().
6) Modified the sources file to what Microsoft wants in-box (except for need to change name and remove INCLUDEs for header file subdirectories).
7) Removed last ASSERTs from WMI code.

Changes from version 112 to 2.66:

This is almost completely reworked driver code, necessary to deliver the following new features:

1) Asynchronous completions
   * Interrupt handling asynchronous to submissions, using single DPC only when necessary
   * Removed tracking array and DriverStatistics
   * Using LockedInc/Dec to track IO counts, etc

2) New Coalescing
   * Now done on a per-LD basis
   * simpler/faster SGL building
   >> still need to implement adaptive logic

3) Code Consolidation
   * MSI/non-MSI code into a single build with runtime detection of Windows 2003
   * INFs into a single file that handles both x86 and x64 installations

4) Streamline IO path
   * Saving physical addresses for boot allocated non-cached memory poniters to avoid unnecessary calls to get physical addresses
   * Using pre-allocated SRB sense buffers on to handle 64-bit addressing on TB and avoid unnecessary calls to get physical addresses
   * Removed driver code that completed a SCSI_REQUEST_SENSE (now sending to down to firmware)
   * Reworked internal DCMDs allocation, now ebedding them into SrbExtension structures

5) Misc improvements
   * Support SRB_FUNCTION_FLUSH by translating to DCMD flush commands, with registry ("NoSrbFlush") swtich to disable
   * Added timer to adapter restart to avoid polling for firmware to be ready (causes exceptions if debugger is attached)
   * Changed calculation of BusyCount used when pausing input requests to use maximum of 25% of (maxrequests-4), with starting value of 10.
   * Removed unnecessary aborting of the AEN and MAP commands upon shutdown, but transition to ready for crash dump

Changes from version 110 to 112:

1) Fix for returned metrics data size for MR_DCMD_CTRL_IO_METRICS_GET, also checking against maximum SRB data buffer length.
2) Added checks for maximum SRB data buffer length for other IOCTLs as well.

Changes from version 102 to 110:

1) Defect 148104: 10/12-byte CDBs must be translated into 16-byte CDBs if the LBA exceeds 32 bits (multiple LDs on large physical arrays).
2) Now setting IoFlags to the changed CDB length when converting CDBs either from 10/12=>16 or 16=>12.
3) Removed "noCDBconvert" registry switch that allowed disabled converting 16-byte CDBs to 10/12-byte CDBs.
4) Now setting ScsiStatus to SCSISTAT_QUEUE_FULL to address low performance on iMR with high queue depth.
5) Changed algorithm of setting the maximum busy-wait-count when exceed maximum number of IOs: default=10, registry setting = 1..Max/4.
6) Added check for invalid PD value in loading balancing setup code in fastpath map calculations code.

Changes from version 100 to 102:

1) Fixed maxLD calculation, used in metrics.
2) Do not copy back uninitialized values the first time start metrics capture.
3) Moved metrics data capture to StartIO instead of BuildIO: must be synchronized.

Changes from version 90 to 100:

1) Defect 167740: avoid writing hotPlug bit more than once per firmware state, and clear when state is changed.
2) Allow registry setting for the BusyWaitCount, now defaulting to 10, and capped at 25% of the max request queue size.
3) Now initializing the collectTime used in collecting IO metrics, fixing bug when retrieving first sample.
4) Removed retrieval of LD_GET_LIST and PD_GET_LIST (still use PD_LIST_QUERY if supported).
5) Handle case of TB firmware not supporting MR_PD_QUERY_TYPE_EXPOSED_TO_HOST flag and process in completion routine.
6) Removed handling of some IOCTL completions and other requests for OS rescan to avoid excessive rescans.
7) Removed DriverStatistics code (IOCTL MR_DRIVER_IOCTL_MEGARAID_STATISTICS).
8) Check if firmware actually in fault state before test for resetRequired bit for 1068 controllers.
9) Don't write back the entire interrupt status value when either the response or change bits are set: only the change bit.
10) Remove incorrect handling of READ6 requests, which never happen in supported versions of Windows.
11) Removed all XP specific code, cleaned up some debug output code.

Changes from version 84 to 90:

1) Defect 143106: OCR does not reset controller on Falcon: using I20 registers instead of fusion ones.
2) Defect 153289: added pause after reading status register prior to reset avoids hardware check BSOD.
3) Avoid processing responses while in reset mode: check for flag after grab spin lock.
4) No longer assuming IEEE SGEs for Falcon/Tbolt controllers, use firmware setting instead.
5) Do not use more than 1 MSI queue when in hibernate/crashdump mode.
6) Changed the timeouts to 10 minutes for startup and 5 minutes for OCR.

Changes from version 78 to 84:

1) Defects 138881/145402: Must call StorPortBusy to wait for IO completions when request queue gets full, else get failed IOs.
2) Defects 139696/145324/136920/45055/45701: Overrun request queue with some sequential IO on multiple LDs, only for iMR.
3) Increase to 12 minutes the wait for firmware to become ready upon bootup or restart. 

Note that the increase in the wait-for-ready means that our product could take up to 30 minutes to boot (12 mins + max-of-3-OCRs * 3 mins).

Changes from version 74 to 78:

1) Defect 125540: Hibernation on Liberator fixed, must redirect legacy interrupts without checking status bits in hiber driver.
2) Must check status bits before redirect legacy interrupts if not in hiber driver (fix hang from handling shared interrupts).
3) Protect interrupts while performing hardware reset sequence.
4) Qualify enforcing power of 16 for max number of commands to TB controller.
5) Uncomment code that checks for a changed transfer size from the TB controller, which previously never updated the length. (#138839).
6) Do not fail SRB_FUNCTION_PNP/POWER requests, not expected behavior (this is change from all previous versions).
7) Ignore registry switch to disable MSI - this causes driver load failure if Windows and controller expect MSI to be enabled.

Changes from version 70 to 74:

1) Defect 126587: Send driver version string to firmware for all controllers, not just TB.
2) Defect 135926/123316: completing SRB too soon in the response handler.
3) Defect 135227/136063: OCR with pre-TB controllers are completing canceled responses.
4) Defect 136142/136542: Only perform TB specific code upon shutdown if TB controller (added in 68).
5) Added registry switch: ClearChangeInt to allow clearing state change interrupts (default=0).
6) Added registry switch: MaxNumRequests to reduce the number of allowed SRB requests for testing.
7) Now testing for NULL SRB data structure values (such as the extension pointer) to detect corruption.
8) Added SRB completion when overflow pending request limit.

Changes from version 68 to 70:

1) Defect 125227: Increased the wait-for-OCR-to-complete to 10 minutes.
2) Defect 126587: Send driver version string to firmware for all controllers, not just TB.
3) Defect 136142/136542: Only perform TB specific code upon shutdown if TB controller (added in 68).

Changes from version 66 to 68:

1) Added clearing interrupts when no responses ready or if receieved a state change interrupt.
2) Ignore interrupts that come after StopAdapter with interrupts disabled (happened sometimes after standby).
3) Remove checking for physical device special handling for TB controller, always using MR_DCMD_PD_LIST_QUERY.
4) Return SRB_STATUS_NO_DEVICE for MFI_STAT_LD_OFFLINE instead of SRB_STATUS_INVALID_TARGET_ID (doesn't seem to make any difference).
5) Kill adapter if restart fails, instead of just logging error.
6) Added events for timeout and firmware faults during OCR.
7) Minor failure status value changes.

Changes from version 62 to 66:

1) Defect 119369: XP causes montask with 5 JBODs - incorrectly exported for each LUN. Now erroring physical channel requests with LUN>0.
2) Defect 124113: Insufficient timeout on waiting for firmware to become ready after reset, change from 90 to 180 seconds.
3) Clear shutdown arrived flag when restart adapter to rearm trigger for sending DCMD_SHUTDOWN instead of HIBERNATE.
4) Debug output changes.

Changes from version 60 to 62:
1) Added a write to clear a legacy interrupt: MSI interrupts not affected.

Changes from version 57 to 60:
1) Fixed BSOD from submitting PendingIOctl without building the command (only happens if IO timeout).
2) Fixed BSOD from writing incorrect length to sense buffer (happens for SCSI commands returned with MFI_STAT_LD_INIT_IN_PROGRESS).

Changes from version 54 to 57:
1) Defect 122659: Unclean shutdown after hibernate.
2) Defect 122650: XPx64 hibernate.
3) Cleaned up some of the kill adapter checks.
4) Defect LSIP200122305: 10M12. Driver 5.1.52.32. Device manager reports Perc H710P as H710
5) Removed windows 2000 support from LSI TB release packets

Changes from version 52 to 54:

1) Defect 106470: Hibernate broken: size of response queue(s) must be multiple of 16.
2) Defect 121765: JBODs didn't show up in DM until reboot (must handle MR_EVT_PD_REMOVED).
3) Added separate verbose debug output capability.
4) Added debug registry switches.
Note: fixed in version 50: Part 1 of defect 119176: XP does not detect drives.

Changes from version 50 to 52:

1) Defect 119176: XP does not detect drives.
2) Defect 119369: XP causes montask with 5 JBODs - incorrectly exported for each LUN?
3) Defect 106470: reduced maximum requests when loaded as the memdump driver to 7 from 64 (TB controller only).


1) Defect 121072: MegaCLI needs special private device to work.
2) Defect 119972: IO to any sysPD eventually miscompares (fails to write data because transfer size is 0).
3) Defect 119889: Turn on fastpath when no registry settings available (Scsiport only - XP support).
4) Fixed incorrect sensebuffer address in TB build code.
5) Fixed checking for reset condition in ISR for Xscale controller.
6) Fixed code that sets the number of MSI queues using firmware/registry values.
7) Replaced event message about out-of-date firmware (id=25) with adapter error (id=11).
8) Added check for transfer length of 0 on CDB6 R/W commands for sysPD IO path.
9) Only setting QueueDepth once after successfull INQUIRY.


Changes from version 44 to 50:

1) Defect 119415, 119412: other controllers than TB don't work, and thus MSM/storlibtest cannot detect them.
2) Defect 119834: data corruption when sending embedded SCSI command in IOCTL with 64-bit sense buffers.
3) Defect 089804: system had to be reboot after loading the driver, or disabling/enabling the driver.
4) Defect 119838: driver does not send driver version string to firmware to print in the log.
5) Kill adapter on more internal consistancy checks instead of assert/continuing, or with any firmware failure.
6) Allow for failure on startup/restart, and attempt OCR to recover. Apply strict limits on startup/restart/shutdown times.
7) Prevent attempting to coalesce new request when request queue is full, and handle invalid/busy/dead conditions consistantly.
8) Removed SrbPending logic, which would cause application IOCTL to fail when this was set and in process of resetting (OCR).
9) Added statistics code to the TB interrupt handling path, data returned by the IOCTL MR_DRIVER_IOCTL_MEGARAID_STATISTICS.
10) Now ignoring (returning successfully) SYNCHRONIZE_CACHE commands (unless have registry switch that converts to DCMD FLUSH).
11) Removed incorrect setting of MaxConcurrentCmdSupported to 1024 after a reset for pre-TB controllers. This could cause queue failures.
12) Added registry setting and code to limit SGEs=60 transfer=240k to prevent application failure with >240k buffers (TB controller only).
13) Cleaned up command firing code to eliminate unnecessarily calling ScsiPortGetPhysicalAddress twice on every DCMD request.
14) Replace calling ScsiGetPortPhysicalAddress() in GET_SRB_EXTENSION() with simple calculation on virtual address.
15) Now returning SRB_STATUS_DATA_OVERRUN when the data transfer length isn't the same as the SRB requested length.
16) Eliminate unnecessary creation of dummy device with the Storport driver.
17) Allow MSIqueues registry setting to apply to all MSI supported controllers.
18) Removed all support for Windows 2000.

Please note that the release notes should include the following:

Known Issues:
1) The XP x86 Scsiport driver has problems
2) Hibernate as boot controller hangs


DRIVER Version: 5.1.40
Engineering Release date :     11/23/2010
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Changes in the Windows TB driver from version 36 to 44:
------------------------------------------------------------------------------------------------------

1) Removed all CPX code.

2) Added the driver name/version string to IOC_INIT for TB controller.

3) Always clear Reserved1 and NextChainOffset members of MPI25_IEEE_SGE_CHAIN64.

4) Added the fix for calculating the maximum number of SGEs on 32-bit Windows when using IEEE SGLs, and setting max transfer to 128k.
   This is a port of code from the most recent Liberator driver source.

5) Added checking for the MR_EVT_LD_STATE_CHANGE event, retrieve the LD list, and notify Windows to rescan.
   Now also getting the LD list on the MR_EVT_CTRL_HOST_BUS_SCAN_REQUESTED event (as well as the PD list).

6) Now clearning flag that MFI frame was in use after hibernate/sleep, which could cause GET_LD_LIST to fail upon restart.

7) Removed the cluster reset code from both the BusReset and ResetLUN entry points.

8) Removed the ASSERTs in the code, replacing them with a graceful exit after killing the adapter.

9) Completely reworked the OCR reset/recovery and IO timeout code. This fixed defects: 111160 and 111313/111864.

    1) The recovery after an OCR is driven by a timer now instead of state change interrupts, which sometimes don't get generated
       because enabling interrupts right afterwards sometimes doesn't work.

    2) The recovery after an OCR for pre-TB controllers now doesn't poll wait for firmware being ready, which freezes the host computer
       and mouse for at least 20-30 seconds.

    3) A failure to recover after an OCR will retry the OCR 2 more times before killing the adapter, instead of ignoring it and continuing.

    4) A failure to perform the actual reset sequence will cause an immediate kill adapter instead of ignoring the failure and continuing,
       which might eventually kill the adapter after a 4 minute IO timeout, if there are any IOs, or maybe never.

    5) The OCR for pre-TB controllers now fails back any coalesced requests, instead of ignoring them and having them possibly cause IO
       timeouts. It also now fails back any pending commands to the OS, instead of resubmitting them to the firmware, which is consistent
       with what is done for TB.

    6) The pending commands are failed back to the OS before the OCR now, instead of afterwards, which would cause unnecessary bus reset calls
       to the driver.

    7) A failure during the restart from sleep/hibernate immediately  kills the adapter instead of waiting 4 minutes for an IO timeout, if ever.

    8) The call to pause incoming IOs from the StartIO entry point was for 1 minute, but the one for the BuildIO is 3 minutes, which is correct.
       The pause code has been moved now to the reset, timeout, and restart routines instead of the BuildIO and StartIO routines.

    9) After killing the adapter any IOCTL still pending was not returned to the OS, which would hangs the application that sent it.

    10) IOs are properly returned BUSY in BuildIO during restart from sleep/hibernate, but are not prevented from going through to StartIO
        in the Storport driver, whereas they are returned BUSY in the Scsiport driver. This has now been fixed.

    11) IOs returned BUSY are now setting the QUEUE_FULL SCSI status so that they are not returned immediately to the driver instead of waiting.

    12) Firmware clears the status bit used for the polling of DCMDs during startup, and there is a race condition because firmware is clearing
        this before the command replies is being set in the response queue (which is because the setting to not write to the response queue
        doesn't work), and thus the driver could possibly poll for a command, then clear the response queue, then the firmware would write the
        response, then the driver would re-enable interrupts and re-execute the command, which if a get raid map, could then set the current
        map to an invalid one, which would likely disable fast path.

    13) The SCSI status being returned in the SRB for an error was being set to STATUS_GOOD instead of CHECK_CONDITION, with unknown effects. 

------------------------------------------------------------------------------------------------------
DRIVER Version: 5.1.36
Engineering Release date :     10/24/2010
Engineer   : Greg de Valois
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Changes in the Windows TB driver from version 32 to 36:

1) How clearing the hotplug bit in OCR code in TB (fix for #708).

2) Added the conversion of 12/16-byte CDBs to 10-byte CDBs if the LBA fits in 32-bits.

3) Added "NoCDBconvert" registry switch to disable the CDB conversion (use "NoCDBconvert=1;").

4) Fixed bug that preventing setting the number of MSI queues to 16 from the registry switch "msiqueues".

5) Added code to deal properly with internal commands still pending when initiate an OCR (could have caused BSOD).

6) Fixed problem with the DIF referenceTag not being set in big-endian format.

7) Removed some unnecessary code; added more debug output control.


-------------------------------------------------------------------------------------------------------
DRIVER Version: 5.1.32
Engineering Release date :     10/10/2010
Engineer   : Greg de Valois
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) Added "coalesestart" registry switch to set the number of pending commands required before starting a coalesced chain (default is 1).

2) Added TB-only code to the DPC to properly handle interrupts after an OCR (prevented completions until another interrupt).

3) Resubmit IOCTLs to the firmware after an OCR instead of erroring them back to the OS.

4) Reworked the sending/receiving of GET_MAP_INFO requests after an OCR and restart.

5) Fix defect 98212: BSOD caused by not freeing tracking array slots when completing pending command during OCR.

6) Fix defect 98213: Must clear "ResetIssued" flag after OCR to prevent getting stuck in a pause state (all IOs gets returned with BUSY).

7) Fix defect 96006: BSOD caused by unexpected value returned by firmware in the raid map, now range checking value.

8) Fix defect 98009: Lost FP sync because driver was treating bypass region lock value as an error condition.

9) Removed raid map validation check that was preventing using the raid map for iMR.

10) Removed some debug code, put debug code under #if DBG control to remove from release builds.

11) Removed forcing the number of MSI queues to be 4, as the firmware was setting its value to 0.
    If this hasn't been fixed yet, use the "msiqueues" registry value to set this from 1 to 16.

-------------------------------------------------------------------------------------------------------
DRIVER Version: 4.27.0
Engineering Release date :     05/21/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1) LSIP200072881: Assertion failure in fw due 440k IO on skinny controller.Fix: Max transfer length per IO reduced to 512k to 320k for Skinny controllers
--------------------------------------------------------------------------------------
DRIVER Version: 4.26.0
Engineering Release date :     05/12/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1) LSIP200020052 : Performance Metric collection checkin.
--------------------------------------------------------------------------------------
DRIVER Version: 4.25.0
Engineering Release date :     04/23/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
LSIP200019922 : 19922 SES exposure issue fix
1) When driver recieves SES exposure chnage in the form of DCDM->set Ctlr-proper - its issues commands tp update PD_LIST & then does a rescan on this command completion. 
2) older driver was incorrectly local at Ioctl buffer for command status - this needs to be change for MFI_frame buffer from command completion.

LSIP200050797: Request to bundle our XP with Vista/W2K8 Driver package.
2)pnp id addition.
--------------------------------------------------------------------------------------
DRIVER Version: 4.24.0 (ZIP1)
Engineering Release date :     03/03/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)PCI ID addition/LSIP200019448
2) Removed Duplicate PCI id /LSIP200019344.
--------------------------------------------------------------------------------------
DRIVER Version: 4.24.0
Engineering Release date :     02/03/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSIP200019262Once OCR fails (firmware in fault state after initiating OCR), driver issue MFI init command command touching unallocated memory leading to page fault. 
Fix : After OCR wait time out driver explictly checks for fault state & does dead adapter condition if firmware is in fault state without proceeding further.
2)LSIP200019236 : Id addition.
--------------------------------------------------------------------------------------
DRIVER Version: 4.23.0 (ZIP1)
Engineering Release date :     1/15/2010
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSIP200044784: PCI id addition/nodev addition.
----------------------------------------------------------------------
DRIVER Version: 4.23.0
Engineering Release date :     11/16/2009
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100151954:During  OCR once the firmware initalization is complete, driver reissues a pending pool of commands from an array.At the end of the array, we are storing certain internal commnads like AEN, for driver DCMDs and reset frame, which wouldn;t have an associated SRB pointer.
On the reissue driver is incorrectly traversing to this internal commands SRB leading to bug check.
--------------------------------------------------------------------------------------
DRIVER Version: 4.22.0
Engineering Release date :     10/09/2009
Engineer   : Rajesh	Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1) LSID100135030: Move Interrupt enabling after fw init completes once OCR is initiate.
2)LSID100135031 : PCI id addition.
--------------------------------------------------------------------------------------
DRIVER Version: 4.21.0
Engineering Release date :     10/09/2009
Engineer   : Carnoori
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100134807 :buffer overrun issue with coalesce flushing for snapshot vd.There was buffer over-run issue was introduced as part of fix to flushing commands in VD deleted &  clr config.
Coalescing flush queue is maintained as array of only 64 elements targetting only VDs.But when view is created, its target id beyond 65, driver tries to access the flush array beyond 64 hitting an invalid buffer command.
To fix the issue, driver would traverse only tilll the first 64 elements & all MaxLdCoalesceInfoIndex index wouldn’t be updated beyond this 64\ MAX_LOGICAL_DRIVES.
--------------------------------------------------------------------------------------
DRIVER Version: 4.20.0
Engineering Release date :     10/01/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100134597:dimmer switch - spin-up issue.
LSID100134598:Disable DPC redirection - 09M10
LSID100134596:mechanism to disable OCR initiation by Driver added.
LSID100134590:OS hangs when rebooting after stopping IO and clearing config
--------------------------------------------------------------------------------------
DRIVER Version: 4.19.0
Engineering Release date :     09/16/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100133870	:SnapShot related Changes.	
2)LSID100133986: Driver reset the controller whether its in a fault state due to a state transistion or unresponsiveness after 4 minutes timeout period.
Now the code has been added to the Driver to prevent such a conidtion of continous reset with resetrequired bit in MFC state.Driver if it finds the fw in 
fault condition check for this bit before initiating reset.
--------------------------------------------------------------------------------------
DRIVER Version: 4.18.0
Engineering Release date :     09/08/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100133720:  Event 51 logged with SRB status invalid.Coalescing is limited by SGL size with understanding that IO size will never by over page size(4kb).
But new behavior with Win 7 OS is sending page file request 320k with only 1 SGE, so driver coalesce multiple request like this . 
Now added logic to limit the Max coalesced IO size to 512k(same as Maxtransfer length per request set to OS during driver entry) 
2) LSID100133641 : Performance optimization by completing IOs during startio.Added code to indicate its intention to do completion-during-StartIo by setting the STOR_PERF_OPTIMIZE_FOR_COMPLETION_DURING_STARTIO flag in its call to StorPortInitializePerfOpts.
This change is done only for MSIX supported & not target for older 
3)LSID100133635 : OCR 2108 Implementation.
--------------------------------------------------------------------------------------
DRIVER Version: 4.17.0 (Zip1)
Engineering Release date :     09/02/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100133463: PCI ids added.
------------------------------------------------------------------------------------
DRIVER Version: 4.17.0
Engineering Release date :     08/17/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100132589: Coalesce flush IO commands where not taken into account when gating the total pending commands with firmware in scsi miniport driver (XP & w2k).
This leads to errorous kill adapter condition & fix is take account of those commands as well..
2) LSID100132391 : Prepare flush command routine doesn't have doNotPostInReplyQueue bit set & command timeout set to invalid when commands are issued in polling mode.
This results in next command begin issued immediately without waiting for the previous commands completion resulting in fw failure.
--------------------------------------------------------------------------------------

DRIVER Version: 4.16.0
Engineering Release date :     07/13/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100132036: Driver coalescing  Supported added.
2)LSID100132154 : PCI ids addition.
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
DRIVER Version: 4.15.0
Engineering Release date :     07/13/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1) LSID100131463 : Pnp id addition.
2) LSID100131314 : Remove StorportBusy to increase performance for Falcon RAID.
3) LSID100131462 : Remove IBM from Product name 
--------------------------------------------------------------------------------------
DRIVER Version: 4.14.0
Engineering Release date :     06/10/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1) LSID100126562: Flush Cache from PNP StopAdapter to cover Hibernation case.
2) LSID100126540: MFAEnabled flags set incorrectly for MSIX driver
3) LSID100126535: Initialize Command Context & MFI_flags for IOctl request.
--------------------------------------------------------------------------------------
DRIVER Version: 4.13.0
Engineering Release date :     05/28/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100125957: When forming IEEE SGL, on a 32bit system & nonPAE IEEE SGLs where not being formed,instead regular SGLs where formed resulting in Kill adapter condition.
2)LSID100126065: on Falcon,due the absence of IDR the following changes are needed when checking for completion of abortall commands. 
a)Write to IDR as usual b)Poll on HostInterruptStatus Reg (0x30) Bit 31 SysToIOPInt to be cleared, indicating status change.
--------------------------------------------------------------------------------------
DRIVER Version: 4.12.0
Engineering Release date :     05/13/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Special Note: None
1)LSID100125510: IEEE SGL not formed with Skinny driver
2)LSID100125520:: Resetting the timer in check firmware state  should  happen when the whole 32bit value changes.
3)PCI ids changes LSID100125503/LSIP200011405.
--------------------------------------------------------------------------------------
DRIVER Version: 4.11.0
Engineering Release date :     05/11/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100125144:Remove Skinny Allocation from driver.
2)LSID100125192:Enabling multiple interrupts cause interrupts more interrupts per IO.
With Librarator we are enabling 2 bits interrupts mask (5), this is reduced to only 1 interrupt for command completion.
And the same Skinny/Falcon, we are enabling all interrupts resulting in interrupt flooded condition.
3)LSID100124986: Timeout value not adequate to allow for spin up of physical drives
4)Fix command Context releated issues.
a) LSID100124255:FW break into kill adapter mon_task while shutdown/restarting Windows. When shutdown command is received all writes are followed by flush cache command. Though this mechanism works in most system, there is bug in the driver and the internal SRBEXTension pendingQ is not properly maintained resulting in queue full condition on certain system. Since SRBEXtension->index is not restored after clearing the whole buffer pendingQ is not cleared. Earlier driver was restoring only context and now SRBEXtension->index is also restored.
b)LSID100125121:RWC2 is not updating the event log with events. AEN Abort command context is not filled by driver.
5) PCI Ids Addition/Changes - LSID100124129,LSID100125337 & LSID100125343
Special Note: None

--------------------------------------------------------------------------------------
DRIVER Version: 4.10.0
Engineering Release date :     04/28/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100124799: Ioctl are failing under heavy IO's, so inorder to prevent it driver is allocating 1 command exclusive to IOCtl alone.
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version: 4.9.0
Engineering Release date :     04/172009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
LSID100124445:SCSIport D1 error caused by passing a wrong Device Extension pointer to Startio when recovering from a bus reset  due to bad drive or other situations delaying IO Completion.
LSID100124443:  Add new PCI ids.
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version: 4.8.0
Engineering Release date :     04/01/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
None.
Special Note: None
LSID100123857:megasas driver was setting the Queue depth to OS supported maximum of 255 per VD/target. Since Skinny fw supports only 32 outstanding commands we were in a constant loop of storport pause causing higher level drivers to fail the IO without queuing. By setting the queue depth to minimum of 255 or max_fw_supported commands, avoiding constant storport pauses & we are giving a chance for OS to send to miniport for further processing.
--------------------------------------------------------------------------------------

DRIVER Version: 4.7.0
Engineering Release date :     03/13/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100123076: fixed the issue SES is exposed by the Driver irrespective of Controller properties->exposeEnclosure.
2) LSID100123075: Skinny Windows Driver 32byte aligned Host Memory.
3) LSID100123078 : In reset Handler has incorrect reference when Calling MegaSASTimer
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version: 4.6.0
Engineering Release date :     02/27/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
 1) Support Added SAS 2 Drake based RAID controllers.Feature added Include
   a) System PD support.
   b) IEEE SGL support.
   c) Host based memory allocation for RAID Controller.
2) LSID100110097After Bootup Sys-Unconfigured PD state not updated properly:
The issue is caused as I trap only MR_DCMD_PD_GET_LIST in CompleteOutStandingCommands and update driver internal PD list based on that command completion alone. But with skinny fw I use MR_DCMD_PD_LIST_QUERY to get PD_LIST.So now I am trapping both DCMD in CompleteOutStandingCommands & updating PD_LIST & hence the config change is updated after bootup.
Clear driver PD list whenever refires MR_DCMD_PD_GET_LIST/ MR_DCMD_PD_LIST_QUERY
Set MFI_Frame not in use after completing MR_DCMD_PD_GET_LIST/ MR_DCMD_PD_LIST_QUERY commands.

3) LSID100109938: SCSI Miniport Driver installation issue:
Before Calling SCSIportgetUncached Extension we should initialize certain port configuration paramters, this was changed during code re-organization to get additional memory.
BuildIO was called with wrong Parameter from StartIO - device extension was incorrect.

4) LSID100109938: Hung during reboot with Multiple VDs,DTM client installed.
After SRB Shutdown,any further writes are completed with flush cache DCMD.In this implementation same SRBExtension is used for fire flush cache command after write commands complete.When the Extension is reused the whole buffer is cleared resulting in hung.Now original refference to SRB is restored and also the msgID is set based on READY state flag.This gerenic fix.SCSI write coming after SRB shutdown was issue with wrong context when firing flush cache command.
To improve performance,their is no need for flush cache DCMS with every SCSI WRITE after SRB Shutdown for OSVer greater then Win Vista.Flush cache will be done in stopadapter time frame.This protection was added for W2k3 fix as stop adapter was not called.
5) LSID100109346: LSI W2k3 IA 64 Inf is referring to  megasas driver instead of msas2k3 causing installation issues.
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version: 4.5.0
Engineering Release date :     02/06/2009
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
 1) MS drop, no Mainstream release.
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version: 4.4.0  (ZIp1)
Engineering Release date :     01/22/2009
Engineer   : Chennakesava Arnoori
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) CR_Ref# LSID100098569: Alcyone hardware
design_HWR_SAS_Driver_Win_LSI  : Generate COs. Product Name: LSI
MegaRAID SAS 9281-8E. PNP-ID: 1000 0079 1000 9281
2) CR_Ref# LSID100098567: Electra hardware_HWR_SAS_Driver_Win_LSI :
Generate CO: Product name: LSI MegaRAID SAS 9261-8i. PNP-ID: 1000 0079
1000 9263
3)CR_Ref# LSID100098571: Taygete hardware
design_HWR_SAS_Driver_Win_LSI : Generating COs. Product Name: LSI MegaRAID SAS 9262-8i, PNP-ID: 1000 0079 1000 9262
Special Note: None
--------------------------------------------------------------------------------------w
DRIVER Version: 4.4.0 
Engineering Release date :     11/24/2008
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100106693: Checkfwstate was checking only for ready state.In WHQL D3 standby test,the firmware was in operational state causing the state machine to break,resulting in timeout and test failure.
2)LSID100106768:Fw defines whether to used msgVector or msgId only in operational state.Since init DCMD is fired before operation,driver will set but msgVector and msgId.
3) LSID100106771: 1) 1000 0060 836E1033-ROMB/1000 0060 D20219E5 ROMB/ 1000 0060 35088086"_Intel(R) RAID Controller SROMBSASMR".and Removed "," from "LSI Corp.," in OEM name.
None.
Special Note: None
--------------------------------------------------------------------------------------w
DRIVER Version: 4.3.0 
Engineering Release date :     11/07/2008
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100102108: Added MSIdisableLegacy flag to check controller type and then check controllers 
"enableMSI" if that class of adapter support MSIX.
None.
Special Note: None
--------------------------------------------------------------------------------------

DRIVER Version: 4.2.0
Engineering Release date :     10/24/2008
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100101589:System Freezes/BugCheck under heavy IO when system shutdown is initiated.Take into account of completed commands after SRB_SHUTDOWN by the driverQ avoiding false StorPortBusy under heavy load.
2)CR:LSID100099971:use  32 bit context for all driver including 32bit and 64 bit OSes.
3) LSID100100428:remove test banner from driver version.
Special Note: None
--------------------------------------------------------------------------------------

DRIVER Version: 4.1.0
Engineering Release date :     08/04/2008
Engineer   : Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
List of changes(for release 4.1)
LSID100098862:Vista Installation issue: After starting Vista installation Driver issues a kill adapter as it see pending commands in its Reply Queue.In MSI mode,one DPC are scheduled for different MSI Vector/mesgId .Since mesgId no. is passed as parameter to DPC routine, this lead to scheduling of always the last message id returned by fw.In some case this resulted in driver not completing a particular messageid's completionQ.Ultimately resulting with pending commands in driverQ and then in kill adapter to fw.
Now we have multiple DPC objects catering to each MesgID vector.So Whenever driver gets a MS(I) Interrupt routine call the corresponding DPC routine is scheduled rather then 1 DPC.Further this is expected to boost performance under NUMA capable OS as different processor need not wait on single DPC with DPC redirection enabled.
1068 Vista/Installation Issue: On 1068 Fw & 1078 non-Eastoah Fall's doesn't support MSI,but inf file was suggesting Driver MSI supports to OS,resulting in OS rejecting Controller.And finally putting it to D3 state.
None.
Special Note: None
--------------------------------------------------------------------------------------

DRIVER Version:	4.0.0 (ZIP2)
Engineering Release date	:     07/23/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)Added Castor 8-port Controller ids.

None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version:	4.0.0
Engineering Release date	:     07/11/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)First Alpha release supporting Gen2 controllers.

None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version:	3.6.0
Engineering Release date	:     04/28/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100095732:This is due to clearing of noncached extension beyond the allocated boundary.
This bug was introduced during MSI development and the same is fixed.
2)LSID100095733:Hibernation happens in nonMSI mode. To switch to nonMSI driver needs to bring the fw to 
ready state & then fire init command.
3)LSID100095263/LSID100094773 : When checking/clear interrupt for 1078,we check for MFI_OUTBOUND_DOORBELL_CHANGE_INERRUPT -this state is not used any where 
in the code and we returning bad return status based on this.This causes interrupt chain to break.
4)LSID100095849: IO space suppression thorough registry.
5)91010/91011:Added New Pnp ids.

None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version:	3.5.0
Engineering Release date	:     04/14/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100064984: Longhorn Driver to support MSI
2) Added W2k3/LH  ia64   build.
None.
Special Note: None
--------------------------------------------------------------------------------------
DRIVER Version:	2.21.0 
Engineering Release date	:     02/15/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100093350 : Added New ids.
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES- Moving forward release notes are merged from each OS to single releasenote
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	megasas.sys (2.20.0.32)(ZIP5)- Windows 2003 - (Storport)
Engineering Release date	:   02/14/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Re-Sign  the Vista/LH driver with inf date updated to today,as MS is not 
taking pre-Dec 07 driver pacakges for WHQL.
2)CR 93152 : Added new pnp ids.

None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	megasas.sys (2.20.0.32)(ZIP4)- Windows 2003 - (Storport)
Engineering Release date	:       01/16/2008
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100092170: fix pnp ids.
2) LSID100092187: Added new pnp ids.

None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	megasas.sys (2.20.0.32)(ZIP3)- Windows 2003 - (Storport)
Engineering Release date	:       12/28/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)Zip3 released only to in sync with Vista/W2k8 inf changes
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	megasas.sys (2.20.0.32)(ZIP2)- Windows 2003 - (Storport)
Engineering Release date	:       12/17/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100091491 : Added new id.

None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------

DRIVER NAME/VERSION		:	megasas.sys (2.20.0.32)- Windows 2003 - (Storport)
Engineering Release date	:       12/17/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Set DPCEnabled flag only from MegaSASInitDpc to avoid ISR called before DPC fully intailized.
2) In order to avoid ISR getting called during D3 state, AdapterStopped flag is added.Its set from stopadapter and cleared from restartadapter.
3)Fix Gigabyte id typo in inf file.

None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	megasas.sys (2.19.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       11/12/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100081680 : If disallowHostRequestReordering argument is passed to the miniport, driver will disallowHostRequestReordering set 
this through Ctlr Prop DCMD during driver initialization.
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.18.0.32) - Windows 2003 - (Storport)
Engineering Release date	:      11/05/2007
Engineer			:      Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100080825: S3 Standby fails during resume from Sleep state. Driver was continusely setting the hotplug bit
leading to delays and occasional failures.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) ZIP6 - Windows 2003 - (Storport)
Engineering Release date	:      10/16/2007
Engineer			:      Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)CR #60076 : New PnP Ids added.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) ZIP5 - Windows 2003 - (Storport)
Engineering Release date	:      09/14/2007
Engineer			:      Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100078371 : New marketing names for the certain 1078 products.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) ZIP4 - Windows 2003 - (Storport)
Engineering Release date	:      09/12/2007
Engineer			:      Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) ZIP4 released to be in sync with IA64 release.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) ZIP3 - Windows 2003 - (Storport)
Engineering Release date	:      09/07/2007
Engineer			:      Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) ZIP3 released to be in sync with IA64 release.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) ZIP2 - Windows 2003 - (Storport)
Engineering Release date	:      08/30/2007
Engineer			:      Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) CR#72221: Name change for OEM 1078 controller with SudVendorID 1734/SubDeviceID 1102 and subVendorId=0x1734/subDeviceId=0x10F9.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.17.0.32) - Windows 2003 - (Storport)
Engineering Release date	:      08/13/2007
Engineer			:      Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100072630: Rework to fix the issue.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:      msas2k3.sys (2.16.0.32) - Windows 2003 - (Storport)
Engineering Release date	:      08/10/2007
Engineer			:      Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100072630: A stop error 0x50 occurs during the PNP driver test on a S5000 Intel server. On the first run the remove test failed, while the surprise and rebalance test passed. On Re-run all 3 tests failed.
Driver is not updating the internal Structures properly during controller disable which leads to BSOD.
2) CR#72221: Name change for OEM 1078 controller with SudVendorID 1734/SubDeviceID 1102 and subVendorId=0x1734/subDeviceId=0x10F9
3) LSID100070224 & LSID100068646: OEM requested name change for 1078 products.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.15.0.32)(ZIP3) - Windows 2003 - (Storport)
Engineering Release date	:      07/27/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)CR-71680 - Add New SES support in Nodev.inf
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.15.0.32)(ZIP2) - Windows 2003 - (Storport)
Engineering Release date	:      07/18/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100070011) Add OEM PnP ID 1054h/3019h.
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.15.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       6/25/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100070782 : If EnableDma64BitAddresses argument is passed to the miniport, driver will support 64Bit DMA addressing irrespective  of whether the system supports 64bit addressing.
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.14.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       06/06/2007
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Update driver version to be in sync with scsiport miniport drivers.
2) CR_Ref# LSID100067626: Gigabyte 1078 ROMB Entry.
Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.13.0.32) (zip2) - Windows 2003 - (Storport)
Engineering Release date	:       05/11/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100068876: Use CONFIG event and INFO locale to register for AEN events to get hold of LD delete/add AENs.
Driver needs to force a rescan of the BUS when a LD/PD is deleted or created.
2)LSID100068976: Make Producerindex consumerindex equal in restartadapter time.Due abort commands sent by driver,
firmware is incrementing Producerindex and when driver comes out of standby driver isnot able to 
indentify the command causing to log SP_BAD_FW_ERROR

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.12.0.32)  - Windows 2003 - (Storport)
Engineering Release date	:       04/26/2007
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID 1000064035: Added support for new ids.
2) Change OEM information in the source code to hide the privacy
Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.11.0.32)  (ZIP2)- Windows 2003 - (Storport)
Engineering Release date	:       4/5/2007
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100067368: Added support for new ids based on CR's 67006/CR 66915/CR 65009

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.11.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       03/23/2007
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100066279: AEN's events lost while the logicial drive degraded after the system go to hibernation mode. Driver will 
use the lastShutdownSeq to resume AEN after resume from Standby/hibernation.
2) Add support for Intel SRCSAS28EV,SRCSATA28E, and SRCSAS28EP controllers.
Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.10.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       03/01/2007
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Add PnPIds for 1078 controllers.
2) LSID100065205: Driver need to force a PnP rescan if a LD is offline and/or when the adapter is set to Dead in case of FW hang to avoid IOs
running to fill the system event log. PnP rescan will force the PnP Manager to send INQ to all the BUS/Target/Lun.

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.8.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       12/15/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100060897: Driver is not updating the dataTransferLength properly which can lead to failure of scsi compliancetest.
Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.7.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       11/03/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Function pointers are implemented to efficiently route the IOs and interrupts for PowerPC and XScale based controllers.

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.6.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       10/20/2006
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1)LSID100060301: Device Manager was displaying incorrect DEviceType in the Disk Management. Inf file has been modified to display the correct DeviceType (RAID).
2)LSID100058126 : Support 32 COntrollers - Windows Driver CR-56417 (CO #58122)
3)LSID100060264 : For SAS ZCR controllers, we have seen the IoAddress access RangeLength to come as big as 128MB. Since driver cannot map this range in some the memory conditions its reduced to to 0x2000 bytes for all the controllers
4) LSID100060272: Correct AdapterId returned from the AEN function. AdapterId is based on PCI Function/Bus/Device Number.
5) LSID100060314: Added support for PnPIds (VID/DID/SSVID/SSID = 1000/060/1000/1012) to the setup files.
Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.5.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       8/30/2006
Engineer			:	Rajesh Prabhakaran
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) LSID100057789 : Fix wrong Srbstatus Sent by miniport driver when reset is pending.
2) LSID100057775 : Update MulitOS inf file with correct decoration to resolve the driver update problem in W2K using manual install option.
3) LSID100058089 : Udate inf with product names from 1000\0060\SUBSYS_03641014 & 1000\0060\SUBSYS_03651014
4) LSID100057442 : Support kill adapter & dumping SRB address functionalities in driver.
5) LSID100057543 : Support the new Shea device name.
Enhancements:

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
-------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.3.0.32) (zip2)- Windows 2003 - (Storport)
Engineering Release date	:       08/04/2006
Engineer			:	GUrpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100056036: Window XP x64 failed fresh installation fails on Hydra controllers. The txtsetup.oem file was carrying incorrect
PnPIds. This has been corrected.

Enhancements:
1) Added support for the following PnPIds:

1000/0060/1043/824D
1000/0060/1170/002F
1000/0060/1014/0365
1000/0060/1014/0364
1000/0060/1014/0363
1000/0060/1000/100E
1000/0060/1000/100F
1000/0060/1000/1010
1000/0060/1000/1011

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
-------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	msas2k3.sys (2.3.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       7/14/2006
Engineer			:	Rajesh Prabhakaran.
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100054485: Firmware is setting MFI_STATE_BOOT_MSG_PENDING state and waits for driver to clear the message.
Set hotplug mfi control register if fw state during intialization is MFI_STATE_BOOT_MSG_PENDING.

2) LSID100053688: add Subsystem ids : 0X1054/0x3016

3) Add Shea enclosure ids to no dev inf files.

4) Replacing the current CalculateMFIFrameCount logic as the new one is much easier to follow.

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
-------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (2.0.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       03/08/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
1) Added support for 1078 controller.

2) LSID100035161: Fullinit is not clearing all the data on the logical drive. Whenever a logical drive is created and partioned with a file system with some files on it.It was observed that after running slow initialization from the storelib or any RAID
management utility, the parition information and the files used to be still present.Only after a reboot, this parition used to disappear. This issue has been resolved with the firmware and driver changes. Firmware after complete initialization of the drives, will
send a check condition to all the commands except SCSI inquiry or Read Capacity. When the firmware receives the first read/write command, firmware will return a check condition with SenseKey set to SCSI_SENSE_UNIT_ATTENTION and ASCQ set to SCSI_ADSENSE_BUS_RESET. Driver on 
receiving this condition will initiate a Bus rescan. This will allow the OS to invalidate its cache.

3) In case of DeadAdapter, Storport miniport driver was again building the MFI command but was not issuing the
command to the firmware. But if the adapter is already DEAD, driver doesnot need to build the command again
and can reject the command as soon as it receives it. The SrbStatus is set to SRB_STATUS_NO_HBA to indicate
that the HBA is not responding.

Enhancements:
None.
Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.18.0.32) (ZIP2) - Windows 2003 - (Storport)
Engineering Release date	:       03/03/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

Enhancements:
1) LSID100050169: Add the support for FSC PnPId (VID/DID/SSVID/SSID = 1000/0411/10a3/1734) to the setup files.
2) Added support for LSI PnPIds (VID/DID/SSVID/SSID = 1000/0411/2005/1000 and 1000/0411/100C/1000) to the setup files.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.18.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       02/17/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100044532: No video coming out of S4 (Hibernate) when running PMTE with the Perc 5/i.
After running hibernation test between 100-200 times, it was observed producerIndex was set to a value greater than the replyQueueEntries.
The situation can occur during subsequent hibernations with driver always decrementing the MaxNumberofCommandsCompleted by 3 which in turn will decrement replyQEntries by 3 (3 commands used for internal purposes).
Before hibernation, if producerIndex was equal to replyQ but after coming out of hibernation, replyQ entry got decremented and producerIndex remains same as the prev boot. This might lead to a situation where firmware while completing the command in the replyQ will end up setting producerIndex to 0, and driver on its part while calculating the numberofCompletedCmds will get a value of 0 or -1. Hence, driver was not completing the command but only updating the consumerPointer to producerPointer. 
	Driver should reinitialize the value of MaxCommandSupported to 1000 and so the replyQEntries while coming out of hibernation. This way producerIndex will never cross the boundary conditions.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.17.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       02/03/2006
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100044962: VERY LOW performance accessing Logical Drive created during same power-on session, if Full Init is performed during creation.Driver is mapping LD_INIT_IN_PROGRESS (0x18) to STATUS_ERROR and OS keeps on retrying for long until the full init completes.
So OS after receiving certain number of errors on the logical drive is getting slow which hurts performance.
The driver has been changed to return sense information when FW returns LD init in progress with “Logical Unit is in progress of becoming ready”.

2) LSID100044662: Dirty cache LED re-illuminates during clean OS shutdown. When the driver receives SRB_FUNCTION_SHUTDOWN, instead of returning dummy success back to the OS, driver would send controller & disk flush command to the firmware (but not a shutdown command). Now when driver receives SCSI Write calls after the SRB_FUNCTION_SHUTDOWN, driver would piggyback each write call it receives after shutdown with controller & disk flush command to the firmware in order to prevent data loss because of dirty cache.
      With this mechanism, our driver code implementation would not have to depend upon what Microsoft supports or not. Driver would flush the cache regardless.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.16.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       11/16/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100041931: OS takes long time to boot or format of a logical drive takes longer time to complete:
Driver is not handling the Sequence number correctly which is results in the driver sending incorrect sequence number to the firmware which causes firmware to post older AENs to the driver. This results in the endless loop of AENs getting issued to the driver and hence it slows down the performance.

2) LSID100041882: When the driver and the FW times out, driver logs the message in the Windows event log :"The driver has detected a device with old or out-of-date firmware. The device will not be used". This message has been replaced by Driver timeout message.

3) LSID100041849: OS or I/O hangs while running I/O on 8 LDs and script create/delete LD 9th:
For any timeouts happening for a target attached to the physical channel driver is still processing the commands from the OS and sending it to the Firmware during reset. This is leading to timer routine never able to make the PendCmds=0 and hence eventually we set the adpater to Dead.This fix has been done by blocking the commands from the OS when the driver is busy processing the outstanding commands in the resetBus on the physical channel as well.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.15.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       11/04/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1)Update version.

Enhancements:
1) Added support for Intel RAID Controller SRCSAS144E and SROMBSAS18E.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.14.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       10/28/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100035235: Some times Windows 2003 Installation/SP1 attachement cannot be done.
This issue has been identified to be caused by StorportGetPhysicalAddress which is giving bad 
address at times on Windows 2003. We dont see this issue on Windows 2003 SP1. In order for our
drivers to be compatible, we would need to change  the StorportGetPhysicalAddress() second 
parameter from SRB to NULL. This would resolve the issue and the release driver would work for 
both Windows 2003 and Windows 2003 SP1.As per MS developer, there can be a potential issue in the
port driver code, so he is suggesting us to pass NULL as second parameter for workaround. 

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.13.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       10/06/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100034826: PCIE fatal error: 
The issue happened as driver didn’t initialize the requestSense field of MFI frame and hence some junk address is send to the firmware and cause the PCIE error. The fix has been put in the driver where the driver would initialize the request sense fields to 0.

2) ResetFlag is not getting reset in the ResetBus routine when the logical drive count becomes 0. This will lead to the situation where driver would not allow more IOs to go down to the firmware. This is a very difficult bug to be reproduced as the driver should receive a resetBus and at the same time firmware should complete all the pending commands including the command which will clear config. In this situation, driver would set the ResetFlag and fails to clear it once it detects there is no logical drive present.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.12.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       09/20/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100033858: GUI fails to get AEN after coming out of hibernation. After coming out of hibernation, driver was resetting 
the EventClasssLocale to critical events and hence the source of the problem. This issue has been resolved. Now the driver would 
set the EventClassLocale values to the values that were saved before going into hibernation.

2) DPC routine does not need to be initialized again after coming out of hibernation. Driver was trying to initialze the DPC again after 
coming out of hibernation and hence the DPC was returning error resulting in the DPC getting disabled and was affecting the performance. 

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.11.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       09/08/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100033123: Three driver files txtsetup.oem, nodev.inf and oemsetup.inf is modified to point to a single cat file for the multiOS package as Microsoft only provides one signature per submission.

2) When the Reset Bus command is issued to the firmware, driver would pause the adapter and would resume upon the completion of the reset bus command.

3) Driver would set the adapter to BUSY if the numberofPending commands exceeds the number of numberofMaxConcurrentCommands that firmware supports and would resume operation when the numberofPending commands fall below the numberofMaxConcurrentCommands.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.10.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       08/26/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) Driver would expose/mask the SES based on the controller properties. Driver would issue a rescan bus if there is a change in the 
exposeEnclosureDevices parameter of controller properties.

2) VTune performance issue: Driver was consuming lot of CPU time during initializing some data Structures. To improve the performance, driver has been changed to initialized only the required parameters of the data structures.

3) Microsoft Bug 1269981: For Storport drivers, MS requires StorportGetPhysicalAddress() should always give SRB as input. We have seen this issue with checked build storport.sys returning warnings for this issue for every IOs send down to the firmware. Changes have been made in the IO path so that checked build storport.sys does not issue these warnings.

Enhancements:
None.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.9.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       08/09/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100030817: S3 standby was not resuming. Driver would examine the contents of the STATE register and look at the time 
between changes in the register. If the register is changing, then firmware is probably initializing drives and updating the state.  
However, if the state register freezes for too long, then that would indicate a FW hang condition.  
So, during your timeout poll, if the state register changes, driver would simply restart your 60 second timeout.

2) MFI_STAT_LD_LBA_OUT_OF_RANGE was not mapped correctly to the OS status. This fix has been made and driver is returning invalid request for the mfi status MFI_STAT_LD_LBA_OUT_OF_RANGE.

Enhancements:
1) LSI Controller Names changed in the inf files.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       msas2k3.sys (1.8.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       07/14/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100030125: After importing a Foreign LD the OS drive name mapping is incomplete until a "scan fo hardware changes" is performed in device manager. Driver has been fixed with the change that would allow PnP to scan the bus whenever there is a change in the logical drive
configuration during the import foreign config.

2) MultiOS package has been released which would combine Windows 2000 and Windows 2003 x86 drivers. This is done so that WHQL signature can
be obtained for the Windows 2000 driver.

Enhancements:
1) Driver name has been changed from megasas.sys to msas2k3.sys. In order to WHQL signature, we need to combine Windows 2000 and Windows 2003 driver. Since both the drivers shares the same name, so we need to change the driver name.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.7.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       06/28/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100029554 : By default, the driver was exposing the Physical Disks (PDs) when there is no logical drives (LDs) configured.
This has ben changes as now the driver would not expose any PDs when there is no logical drive information present. Functionality has been
added to turn ON/OFF this feature through the Windows debugger.

2) Driver would specify to the Firmware if there is a hotplug situation so that Firmware will spinup one drive at a time otherwise it firmware will use Vendor supplied drive spinup count.

3) Driver would support the maximum 80SGE count supported by the firmware. Previously, driver was only supporting 56 SGE count for 32bit systems and 37 SGEs count for the 64 bit systems.

Enhancements:
1) Controller name have been changed from Intel(R) RAID Controller SRCSAS18I to Intel(R) RAID Controller SRCSAS18E.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.6.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       06/16/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

Enhancements:
1) Longhorn version information added to the source code.
2) Support for Intel SRCSAS18I, MegaRAID SATA 3080ELP, SAS 3000XLP added.
3) Controller Names have been updated.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.5.1.32) - Windows 2003 - (Storport)
Engineering Release date	:       06/02/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

Enhancements:
Common Header files updated to reflect the new changes.

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.5.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       05/31/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1) LSID100028251 : Driver is not handling the AEN masks properly. Driver needs to ORed all the masks sends by the applicaiton and send it to Firmware. This would allow multiple application with different mask information to work properly.

2) Driver would use DeviceNumber/FunctionNumber/BusNumber to uniquely identify the controller to avoid issues with the ControllerId when Dell and LSI controllers are on the same system.

3)  LSID100028295 : Driver was not handling the Shutdown call gracefully. Driver was not building the Shutdown command properly leading to the system hang. This issue has been fixed by building the shutdown command and issuing it to the firmware.

Enhancements:
None

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.4.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       05/13/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

1. LSID100027604: Hibernation/Standby issue resolved. Driver needs to send Controller/Disk flush command before sending the Hibernation/Standby command. This would allow firmware to flush all the cache.

2. Driver was not sending the WaitforEvent(AEN Frame) with the correct sequence number. This would make firmware send AENs for the incorrect sequence number.

3. LSID100027894: Storport driver fails to load when the dataTransferLength is set to 512K. Driver was not handling the Scatter gather list properly.

4. WMI, AEN and DPC initliazation is disabled during hibernation/Standby.

5. LSID100027656: Interrupt Vector is returned by the driver to Storelib application when the application request for PCI information.

6. Ability to detect hibernation/crashdump has been added in the driver.


Enhancements:
None

Special Note: None
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.3.1.32) - Windows 2003 - (Storport)
Engineering Release date	:       04/22/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)

Bugs Fixed  :
None
Enhancements:
None.

Special Note:
1) LSID100027392: Storport driver fails to load during Fresh installation (F6). We suspect
it as a Microsoft Storport issue. As a patch we have decreased the DataTransferLength from 512K to 128K for Storport driver. However we dont see this issue with the Miniport driver so
we are setting the DataTransferLength to 512K for Windows 2000 and XP driver release.

NOTE : Not Tested due to no system avaiable


--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------

DRIVER NAME/VERSION		:       megasas.sys (1.3.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       04/18/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  :

1) Default Sense Data is returned for all the SCSIOP_REQUEST_SENSE(0x3) request coming for the logical drives.

2) During ResetBus, miniport driver was not asking for the next request. OS would not send any more requests till the miniport driver requests.This fix has been made in the driver.

3) Driver was not able to resume the operations after coming out of Standby. This was due to the fact that the driver was not able to disable the interrupts correctly. The default value to mask the interrupts is changed to 0x1f.

4) Copyright information changed from 2001 to 2005 in the inf files.

Enhancements:
1) Default Data TransferLength has been increased from 64k to 512k

--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:       megasas.sys (1.2.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       03/28/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  :
1) INF files decoration added according to MS specifications.
2) NeedsSystemShutdownNotification added to the inf file for shutdown notification.

Enhancements:
1) Cluster functionality LD Reserve/Release/Reset added to the driver.

--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------

DRIVER NAME/VERSION		:       megasas.sys (1.1.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       03/04/2005
Engineer			:	Gurpreet Anand
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  : 

1) Driver was not returning the correct status if the logical drives becomes offline.
2) For Storport driver, DeviceQueueDepth increased to 254. This would allow the Storport driver to send 254 outstanding IOs to each LUN.
3) Driver name inconsistency has been resolved. Driver name would megasas.sys for Windows 2000
driver and percsas.sys for the Windows 2003(x86/x64/IA64) drivers.
4) For STP, driver was not filling the correct SG list. This issue has been resolved in this release.
5) Firmware supports maximum of 1008 commands. In order to avoid returning BUSY status from the driver, INF file has been modified to support 1000 commands ( driver uses 3 commands for internal uses).

Enhancements:
None.

NOTE: Delete all previous SAS drivers before you install this driver.

--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------

DRIVER NAME/VERSION		:	perc5sas.sys (1.0.0.32) - Windows 2000 - (Miniport), 
                                        perc5x86.sys (1.0.0.32) - Windows 2003 - (Storport)
Engineering Release date	:       02/14/2005
Engineer			:	Parag Maharana
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  : 
		1) Scanning problem fixed

Enhancements:
		1) Added Support for SMP/STP Command

NOTE        : Apply HOTFIX for STORPORT
--------------------------------------------------------------------------------------
EARLIER RELEASE NOTES
--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	perc5sas.sys (T5.0.1.0) - Windows 2000, 
                                        perc5x86.sys (T5.2.1.0) - Windows 2003
Engineering Release date	:       02/10/2005
Engineer			:	Parag Maharana
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  : 
Enhancements:
		1) If no configuration found in controller, driver will expose all PDs to OS, 
                   as soon as user create logical drives, all PDs will be hidden.

--------------------------------------------------------------------------------------
DRIVER NAME/VERSION		:	perc5sas.sys (T5.0.1.0) - Windows 2000, 
                                        perc5x86.sys (T5.2.1.0) - Windows 2003
Engineering Release date	:       01/27/2005
Engineer			:	Parag Maharana
Reason for Release (including Bug Fixes and Enhancements and Feature added)
Bugs Fixed  : 
		1) OS crashes if fw debugger goes to debugger more than 1 min.
Enhancements:
		1) If no configuration found in controller, driver will expose all PDs to OS, 
                   as soon as user create logical drives, all PDs will be hidden.

