diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2009-08-05 12:52:58 +0530 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-08-22 17:52:26 -0500 |
commit | 79a3ec1ace2329d115ecd2445379b46aed3286b0 (patch) | |
tree | 4bc0a9d082afa0dbf1460ddf0664c22fd3fc997a /drivers/message/fusion | |
parent | 4b97650b555b1cd09b547104d98da0ff700187d9 (diff) | |
download | linux-stable-79a3ec1ace2329d115ecd2445379b46aed3286b0.tar.gz linux-stable-79a3ec1ace2329d115ecd2445379b46aed3286b0.tar.bz2 linux-stable-79a3ec1ace2329d115ecd2445379b46aed3286b0.zip |
[SCSI] mptsas : set max_id to infinite value.
Do not set max_id value received from FW. Once SAS transport layer is
introduced max_id value is missleading to SCSI mid layer. Use max_id to
infinite value.
logic of can queue of scsi host is changed.
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/message/fusion')
-rw-r--r-- | drivers/message/fusion/mptsas.c | 5 | ||||
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 936e35ae88d4..21bd78e4f306 100644 --- a/drivers/message/fusion/mptsas.c +++ b/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/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 1466a5aed5f8..0e402eb95716 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/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; |