summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-disk.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r--sys/dev/ata/ata-disk.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index 9dc33db..b4fdbe8 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -124,6 +124,11 @@ ad_attach(struct ata_device *atadev)
adp->sectors = atadev->param->sectors;
adp->total_secs = atadev->param->cylinders * adp->heads * adp->sectors;
adp->max_iosize = 256 * DEV_BSIZE;
+ if (adp->device->channel->flags & ATA_USE_PC98GEOM &&
+ adp->total_secs < 17 * 8 * 65536) {
+ adp->sectors = 17;
+ adp->heads = 8;
+ }
bioq_init(&adp->queue);
lbasize = (u_int32_t)atadev->param->lba_size_1 |
OpenPOWER on IntegriCloud