diff options
Diffstat (limited to 'drivers/message/fusion/mptspi.c')
-rw-r--r-- | drivers/message/fusion/mptspi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index e44365193fdf..1abaa5d01ae3 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c | |||
@@ -210,6 +210,10 @@ mptspi_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *target, | |||
210 | target->maxOffset = offset; | 210 | target->maxOffset = offset; |
211 | target->maxWidth = width; | 211 | target->maxWidth = width; |
212 | 212 | ||
213 | spi_min_period(scsi_target(sdev)) = factor; | ||
214 | spi_max_offset(scsi_target(sdev)) = offset; | ||
215 | spi_max_width(scsi_target(sdev)) = width; | ||
216 | |||
213 | target->tflags |= MPT_TARGET_FLAGS_VALID_NEGO; | 217 | target->tflags |= MPT_TARGET_FLAGS_VALID_NEGO; |
214 | 218 | ||
215 | /* Disable unused features. | 219 | /* Disable unused features. |
@@ -558,6 +562,7 @@ static int mptspi_read_spi_device_pg0(struct scsi_target *starget, | |||
558 | cfg.action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; | 562 | cfg.action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT; |
559 | cfg.dir = 0; | 563 | cfg.dir = 0; |
560 | cfg.pageAddr = starget->id; | 564 | cfg.pageAddr = starget->id; |
565 | cfg.timeout = 60; | ||
561 | 566 | ||
562 | if (mpt_config(ioc, &cfg)) { | 567 | if (mpt_config(ioc, &cfg)) { |
563 | starget_printk(KERN_ERR, starget, MYIOC_s_FMT "mpt_config failed\n", ioc->name); | 568 | starget_printk(KERN_ERR, starget, MYIOC_s_FMT "mpt_config failed\n", ioc->name); |
@@ -1152,6 +1157,9 @@ mptspi_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
1152 | u8 event = le32_to_cpu(pEvReply->Event) & 0xFF; | 1157 | u8 event = le32_to_cpu(pEvReply->Event) & 0xFF; |
1153 | struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh); | 1158 | struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh); |
1154 | 1159 | ||
1160 | if (ioc->bus_type != SPI) | ||
1161 | return 0; | ||
1162 | |||
1155 | if (hd && event == MPI_EVENT_INTEGRATED_RAID) { | 1163 | if (hd && event == MPI_EVENT_INTEGRATED_RAID) { |
1156 | int reason | 1164 | int reason |
1157 | = (le32_to_cpu(pEvReply->Data[0]) & 0x00FF0000) >> 16; | 1165 | = (le32_to_cpu(pEvReply->Data[0]) & 0x00FF0000) >> 16; |
@@ -1283,6 +1291,8 @@ mptspi_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
1283 | int rc; | 1291 | int rc; |
1284 | 1292 | ||
1285 | rc = mptscsih_ioc_reset(ioc, reset_phase); | 1293 | rc = mptscsih_ioc_reset(ioc, reset_phase); |
1294 | if ((ioc->bus_type != SPI) || (!rc)) | ||
1295 | return rc; | ||
1286 | 1296 | ||
1287 | /* only try to do a renegotiation if we're properly set up | 1297 | /* only try to do a renegotiation if we're properly set up |
1288 | * if we get an ioc fault on bringup, ioc->sh will be NULL */ | 1298 | * if we get an ioc fault on bringup, ioc->sh will be NULL */ |