OpenSolaris

Printable Version Enter a New Search
Bug ID 6728188
Synopsis ahci_software_reset fails at clearing AHCI_CMD_STATUS_ST
State 10-Fix Delivered (Fix available in build)
Category:Subcategory driver:ahci
Keywords ahci | software-reset
Responsible Engineer Ying Tian
Reported Against snv_93
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_100
Fixed In snv_100
Release Fixed solaris_nevada(snv_100) , solaris_10u8(s10u8_02) (Bug ID:2174099)
Related Bugs 6261241 , 6418168
Submit Date 22-July-2008
Last Update Date 13-May-2009
Description
This code in ahci_software_reset claims to clear AHCI_CMD_STATUS_ST but or's in that value in the ddi_put32, leaving it set the entire time:

        /* First to clear PxCMD.ST */
        port_cmd_status = ddi_get32(ahci_ctlp->ahcictl_ahci_acc_handle,
            (uint32_t *)AHCI_PORT_PxCMD(ahci_ctlp, port));

        port_cmd_status &= ~AHCI_CMD_STATUS_ST;

        ddi_put32(ahci_ctlp->ahcictl_ahci_acc_handle,
            (uint32_t *)AHCI_PORT_PxCMD(ahci_ctlp, port),
            port_cmd_status|AHCI_CMD_STATUS_ST);  <<<<<<<<<<<<<<<
Work Around
N/A
Comments
N/A