Commit 8ef2eb8d authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

megasas: fix megasas_get_sata_addr



There are two bugs here.  First, the 16-bit id loses the high 8 bits
when shifted left by 24.  Second, the address must be combined with
an "or" or we just get zero.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 633dccb4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -431,7 +431,7 @@ static uint64_t megasas_fw_time(void)
static uint64_t megasas_get_sata_addr(uint16_t id)
{
    uint64_t addr = (0x1221ULL << 48);
    return addr & (id << 24);
    return addr | ((uint64_t)id << 24);
}

/*