summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/blkdev/blkdev.c5
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,