Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29982e9a authored by Doug Chapman's avatar Doug Chapman Committed by James Bottomley
Browse files

[SCSI] fusion: fix for BZ 8426 - massive slowdown on SCSI CD/DVD drive

Patch for: http://bugzilla.kernel.org/show_bug.cgi?id=8426



A recent code cleanup that moved code from mptscsih to mptspi
inadvertently change the order some code was called.  This caused
a massive slowdown (of 150x to 300x) on the CD/DVD drive on the
high-end HP Integrity servers.

Signed-off-by: default avatarDoug Chapman <doug.chapman@hp.com>
Acked-by: default avatarEric Moore <eric.moore@lsi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 5ecd3100
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -727,13 +727,15 @@ static int mptspi_slave_configure(struct scsi_device *sdev)
	struct _MPT_SCSI_HOST *hd =
	struct _MPT_SCSI_HOST *hd =
		(struct _MPT_SCSI_HOST *)sdev->host->hostdata;
		(struct _MPT_SCSI_HOST *)sdev->host->hostdata;
	VirtTarget *vtarget = scsi_target(sdev)->hostdata;
	VirtTarget *vtarget = scsi_target(sdev)->hostdata;
	int ret = mptscsih_slave_configure(sdev);
	int ret;

	mptspi_initTarget(hd, vtarget, sdev);

	ret = mptscsih_slave_configure(sdev);


	if (ret)
	if (ret)
		return ret;
		return ret;


	mptspi_initTarget(hd, vtarget, sdev);

	ddvprintk((MYIOC_s_INFO_FMT "id=%d min_period=0x%02x"
	ddvprintk((MYIOC_s_INFO_FMT "id=%d min_period=0x%02x"
		" max_offset=0x%02x max_width=%d\n", hd->ioc->name,
		" max_offset=0x%02x max_width=%d\n", hd->ioc->name,
		sdev->id, spi_min_period(scsi_target(sdev)),
		sdev->id, spi_min_period(scsi_target(sdev)),