diff options
-rw-r--r-- | drivers/scsi/aacraid/aachba.c | 4 | ||||
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c index 971425557f74..ddb33b06e0ef 100644 --- a/drivers/scsi/aacraid/aachba.c +++ b/drivers/scsi/aacraid/aachba.c | |||
@@ -170,9 +170,9 @@ int acbsize = -1; | |||
170 | module_param(acbsize, int, S_IRUGO|S_IWUSR); | 170 | module_param(acbsize, int, S_IRUGO|S_IWUSR); |
171 | MODULE_PARM_DESC(acbsize, "Request a specific adapter control block (FIB) size. Valid values are 512, 2048, 4096 and 8192. Default is to use suggestion from Firmware."); | 171 | MODULE_PARM_DESC(acbsize, "Request a specific adapter control block (FIB) size. Valid values are 512, 2048, 4096 and 8192. Default is to use suggestion from Firmware."); |
172 | 172 | ||
173 | int expose_physicals = 0; | 173 | int expose_physicals = -1; |
174 | module_param(expose_physicals, int, S_IRUGO|S_IWUSR); | 174 | module_param(expose_physicals, int, S_IRUGO|S_IWUSR); |
175 | MODULE_PARM_DESC(expose_physicals, "Expose physical components of the arrays. 0=off, 1=on"); | 175 | MODULE_PARM_DESC(expose_physicals, "Expose physical components of the arrays. -1=protect 0=off, 1=on"); |
176 | /** | 176 | /** |
177 | * aac_get_config_status - check the adapter configuration | 177 | * aac_get_config_status - check the adapter configuration |
178 | * @common: adapter to query | 178 | * @common: adapter to query |
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 1326c0a1bdae..1feda449aedc 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c | |||
@@ -398,11 +398,15 @@ static int aac_slave_configure(struct scsi_device *sdev) | |||
398 | sdev->skip_ms_page_3f = 1; | 398 | sdev->skip_ms_page_3f = 1; |
399 | } | 399 | } |
400 | if ((sdev->type == TYPE_DISK) && | 400 | if ((sdev->type == TYPE_DISK) && |
401 | !expose_physicals && | ||
402 | (sdev_channel(sdev) != CONTAINER_CHANNEL)) { | 401 | (sdev_channel(sdev) != CONTAINER_CHANNEL)) { |
403 | struct aac_dev *aac = (struct aac_dev *)sdev->host->hostdata; | 402 | if (expose_physicals == 0) |
404 | if (!aac->raid_scsi_mode || (sdev_channel(sdev) != 2)) | 403 | return -ENXIO; |
405 | sdev->no_uld_attach = 1; | 404 | if (expose_physicals < 0) { |
405 | struct aac_dev *aac = | ||
406 | (struct aac_dev *)sdev->host->hostdata; | ||
407 | if (!aac->raid_scsi_mode || (sdev_channel(sdev) != 2)) | ||
408 | sdev->no_uld_attach = 1; | ||
409 | } | ||
406 | } | 410 | } |
407 | if (sdev->tagged_supported && (sdev->type == TYPE_DISK) && | 411 | if (sdev->tagged_supported && (sdev->type == TYPE_DISK) && |
408 | (sdev_channel(sdev) == CONTAINER_CHANNEL)) { | 412 | (sdev_channel(sdev) == CONTAINER_CHANNEL)) { |