diff options
-rw-r--r-- | sys/dev/ata/ata-raid.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c index d361e45..85123aa 100644 --- a/sys/dev/ata/ata-raid.c +++ b/sys/dev/ata/ata-raid.c @@ -428,7 +428,8 @@ ar_promise_conf(struct ad_softc *adp, struct ar_softc **raidp) u_int32_t cksum, *ckptr; int count, disk_number, array; - lba = adp->total_secs - adp->sectors; + lba = ((adp->total_secs / (adp->heads * adp->sectors)) * + adp->heads * adp->sectors) - adp->sectors; if (ar_read(adp, lba, 4 * DEV_BSIZE, (char *)&info)) { if (bootverbose) |