diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/io/blkdev/blkdev.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr/src/uts/common/io/blkdev/blkdev.c b/usr/src/uts/common/io/blkdev/blkdev.c index 51831c2600..dd7dafef01 100644 --- a/usr/src/uts/common/io/blkdev/blkdev.c +++ b/usr/src/uts/common/io/blkdev/blkdev.c @@ -396,10 +396,13 @@ bd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) bzero(&drive, sizeof (drive)); bd->d_ops.o_drive_info(bd->d_private, &drive); bd->d_qsize = drive.d_qsize; - bd->d_maxxfer = drive.d_maxxfer; bd->d_removable = drive.d_removable; bd->d_hotpluggable = drive.d_hotpluggable; + if (drive.d_maxxfer && drive.d_maxxfer < bd->d_maxxfer) + bd->d_maxxfer = drive.d_maxxfer; + + rv = cmlb_attach(dip, &bd_tg_ops, DTYPE_DIRECT, bd->d_removable, bd->d_hotpluggable, drive.d_lun >= 0 ? DDI_NT_BLOCK_CHAN : DDI_NT_BLOCK, |