diff options
Diffstat (limited to 'drivers/message/fusion/mptsas.c')
-rw-r--r-- | drivers/message/fusion/mptsas.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 010d4a39269b..e9716b10acea 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
@@ -366,7 +366,15 @@ mptsas_sas_enclosure_pg0(MPT_ADAPTER *ioc, struct mptsas_enclosure *enclosure, | |||
366 | static int | 366 | static int |
367 | mptsas_slave_configure(struct scsi_device *sdev) | 367 | mptsas_slave_configure(struct scsi_device *sdev) |
368 | { | 368 | { |
369 | sas_read_port_mode_page(sdev); | 369 | struct Scsi_Host *host = sdev->host; |
370 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; | ||
371 | |||
372 | /* | ||
373 | * RAID volumes placed beyond the last expected port. | ||
374 | * Ignore sending sas mode pages in that case.. | ||
375 | */ | ||
376 | if (sdev->channel < hd->ioc->num_ports) | ||
377 | sas_read_port_mode_page(sdev); | ||
370 | 378 | ||
371 | return mptscsih_slave_configure(sdev); | 379 | return mptscsih_slave_configure(sdev); |
372 | } | 380 | } |