Having a quick look, the problem might be in ahci_cond_start_engines() which calls ahci_map_clb_address(), then ahci_map_fis_address() fails and we return without calling ahci_unmap_clb_address().
Having a quick look, the problem might be in ahci_cond_ start_engines( ) clb_address( ), then ahci_map_ fis_address( ) fails clb_address( ).
which calls ahci_map_
and we return without calling ahci_unmap_