Fix regression in AHCI controller settings.
When the AHCI code was reworked to use FreeBSD struct definitions, the valid element was mis-transcribed resulting in the UMDA capability being hidden. This prevented Illumos from using AHCI disk/cdrom drives. Fix by using definitions that match the code pre-rework. PR: 250924 Submitted by: Rolf Stalder Reported by: Rolf Stalder MFC after: 3 days
This commit is contained in:
parent
1b249101df
commit
cd5b6d16ca
@ -1004,7 +1004,7 @@ ata_identify_init(struct ahci_port* p, int atapi)
|
||||
ata_ident->capabilities1 = ATA_SUPPORT_LBA |
|
||||
ATA_SUPPORT_DMA;
|
||||
ata_ident->capabilities2 = (1 << 14 | 1);
|
||||
ata_ident->atavalid = ATA_FLAG_54_58 | ATA_FLAG_64_70;
|
||||
ata_ident->atavalid = ATA_FLAG_64_70 | ATA_FLAG_88;
|
||||
ata_ident->obsolete62 = 0x3f;
|
||||
ata_ident->mwdmamodes = 7;
|
||||
if (p->xfermode & ATA_WDMA0)
|
||||
@ -1053,8 +1053,7 @@ ata_identify_init(struct ahci_port* p, int atapi)
|
||||
ata_ident->capabilities1 = ATA_SUPPORT_DMA |
|
||||
ATA_SUPPORT_LBA | ATA_SUPPORT_IORDY;
|
||||
ata_ident->capabilities2 = (1 << 14);
|
||||
ata_ident->atavalid = ATA_FLAG_54_58 |
|
||||
ATA_FLAG_64_70;
|
||||
ata_ident->atavalid = ATA_FLAG_64_70 | ATA_FLAG_88;
|
||||
if (p->mult_sectors)
|
||||
ata_ident->multi = (ATA_MULTI_VALID | p->mult_sectors);
|
||||
if (sectors <= 0x0fffffff) {
|
||||
|
Loading…
Reference in New Issue
Block a user