Skip to contentSkip to conversation

Fusion: SAS: don't set queue depth to 1 when sdev->id is greater than sh->max_id

PATCH New Michael Reed 1 participant 1 message May 21, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fusion: SAS: don't set queue depth to 1 when sdev->id is greater than sh->max_id

This patch was originally part of a patch posted March 13, 2008. I'm breaking this out into a separate patch as it's only somewhat related. Applies cleanly against Sathya's latest patch and will apply correctly (offset +29) to 2.6.26-rc3-git3.

--

Change mptscsih_slave_configure so it doesn't set the queue depth to 1 for SAS
protocol when sdev->id is greater than sh->max_id. The sas transport
layer assigns the target ids, incrementing with each hotplug add. With large topologies, it doesn't take long to hit this threshold.

drivers/message/fusion/mptscsih.c +0 -8
@@ -2422,12 +2422,6 @@ mptscsih_slave_configure(struct scsi_dev
 		    ioc->name, sdev->sdtr, sdev->wdtr,
 		    sdev->ppr, sdev->inquiry_len));
 
-	if (sdev->id > sh->max_id) {
-		/* error case, should never happen */
-		scsi_adjust_queue_depth(sdev, 0, 1);
-		goto slave_configure_exit;
-	}
-
 	vdevice->configured_lun = 1;
 	mptscsih_change_queue_depth(sdev, MPT_SCSI_CMD_PER_DEV_HIGH);
 
@@ -2441,8 +2435,6 @@ mptscsih_slave_configure(struct scsi_dev
 		    ioc->name, vtarget->negoFlags, vtarget->maxOffset,
 		    vtarget->minSyncFactor));
 
-slave_configure_exit:
-
 	dsprintk(ioc, printk(MYIOC_s_DEBUG_FMT
 		"tagged %d, simple %d, ordered %d\n",
 		ioc->name,sdev->tagged_supported, sdev->simple_tags,