From a79bb72091a05d142a5c0e7c637619c8abeac545 Mon Sep 17 00:00:00 2001 From: "Kashyap, Desai" Date: Wed, 5 Aug 2009 12:52:58 +0530 Subject: [PATCH] --- yaml --- r: 161064 b: refs/heads/master c: 79a3ec1ace2329d115ecd2445379b46aed3286b0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/message/fusion/mptsas.c | 5 ++--- trunk/drivers/message/fusion/mptscsih.c | 5 ++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 2f5c1f4f109d..351a94da5eb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4b97650b555b1cd09b547104d98da0ff700187d9 +refs/heads/master: 79a3ec1ace2329d115ecd2445379b46aed3286b0 diff --git a/trunk/drivers/message/fusion/mptsas.c b/trunk/drivers/message/fusion/mptsas.c index 936e35ae88d4..21bd78e4f306 100644 --- a/trunk/drivers/message/fusion/mptsas.c +++ b/trunk/drivers/message/fusion/mptsas.c @@ -4761,10 +4761,9 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* set 16 byte cdb's */ sh->max_cmd_len = 16; - - sh->max_id = ioc->pfacts[0].PortSCSIID; + sh->can_queue = min_t(int, ioc->req_depth - 10, sh->can_queue); + sh->max_id = -1; sh->max_lun = max_lun; - sh->transportt = mptsas_transport_template; /* Required entry. diff --git a/trunk/drivers/message/fusion/mptscsih.c b/trunk/drivers/message/fusion/mptscsih.c index 1466a5aed5f8..0e402eb95716 100644 --- a/trunk/drivers/message/fusion/mptscsih.c +++ b/trunk/drivers/message/fusion/mptscsih.c @@ -2290,7 +2290,10 @@ mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth) else max_depth = MPT_SCSI_CMD_PER_DEV_LOW; } else - max_depth = MPT_SCSI_CMD_PER_DEV_HIGH; + max_depth = ioc->sh->can_queue; + + if (!sdev->tagged_supported) + max_depth = 1; if (qdepth > max_depth) qdepth = max_depth;