[SCSI] mptfusion: Setting period,offset and width for SPI driver
authorKashyap, Desai <kashyap.desai@lsi.com>
Thu, 18 Mar 2010 13:51:34 +0000 (19:21 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 11 Apr 2010 14:24:09 +0000 (09:24 -0500)
Set factor, offset and width while target negotiation.

Added config timeout 60 seconds. It was missing for only
mptspi_read_spi_device_pg0

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/message/fusion/mptspi.c

index 8820591..1abaa5d 100644 (file)
@@ -210,6 +210,10 @@ mptspi_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *target,
        target->maxOffset = offset;
        target->maxWidth = width;
 
+       spi_min_period(scsi_target(sdev)) = factor;
+       spi_max_offset(scsi_target(sdev)) = offset;
+       spi_max_width(scsi_target(sdev)) = width;
+
        target->tflags |= MPT_TARGET_FLAGS_VALID_NEGO;
 
        /* Disable unused features.
@@ -558,6 +562,7 @@ static int mptspi_read_spi_device_pg0(struct scsi_target *starget,
        cfg.action = MPI_CONFIG_ACTION_PAGE_READ_CURRENT;
        cfg.dir = 0;
        cfg.pageAddr = starget->id;
+       cfg.timeout = 60;
 
        if (mpt_config(ioc, &cfg)) {
                starget_printk(KERN_ERR, starget, MYIOC_s_FMT "mpt_config failed\n", ioc->name);