From: Doug Chapman Date: Fri, 11 May 2007 06:01:08 +0000 (-0700) Subject: [PATCH] fix for bugzilla 8426: massive slowdown on SCSI CD/DVD drive connected to... X-Git-Tag: v2.6.21.2~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d231c56c1631e1f16aa6c9ad720b6dac80b39ad1;p=thirdparty%2Fkernel%2Fstable.git [PATCH] fix for bugzilla 8426: massive slowdown on SCSI CD/DVD drive connected to mptspi driver 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: Doug Chapman Cc: Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Chris Wright --- diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 85f21b54cb7de..2eb5741a93323 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c @@ -726,13 +726,15 @@ static int mptspi_slave_configure(struct scsi_device *sdev) struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)sdev->host->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) return ret; - mptspi_initTarget(hd, vtarget, sdev); - ddvprintk((MYIOC_s_INFO_FMT "id=%d min_period=0x%02x" " max_offset=0x%02x max_width=%d\n", hd->ioc->name, sdev->id, spi_min_period(scsi_target(sdev)),