From: James Bottomley Date: Fri, 1 Sep 2006 13:28:48 +0000 (-0400) Subject: [SCSI] add failure return to scsi_init_shared_tag_map() X-Git-Tag: upstream/snapshot3+hdmi~38328^2~19^2~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=deb81d80ba27da8dfabc29ccb5977db8f4942a0a;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git [SCSI] add failure return to scsi_init_shared_tag_map() And use it in the stex driver. Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 15fb99f..3cf3106 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -1108,9 +1108,8 @@ stex_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (err) goto out_free_irq; - scsi_init_shared_tag_map(host, ST_CAN_QUEUE); - if (host->bqt == NULL) { - err = -ENOMEM; + err = scsi_init_shared_tag_map(host, ST_CAN_QUEUE); + if (err) { printk(KERN_ERR DRV_NAME "(%s): init shared queue failed\n", pci_name(pdev)); goto out_free_irq; diff --git a/include/scsi/scsi_tcq.h b/include/scsi/scsi_tcq.h index 4eea254..d04d05a 100644 --- a/include/scsi/scsi_tcq.h +++ b/include/scsi/scsi_tcq.h @@ -138,9 +138,10 @@ static inline struct scsi_cmnd *scsi_find_tag(struct scsi_device *sdev, int tag) * @shost: the host to share the tag map among all devices * @depth: the total depth of the map */ -static inline void scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth) +static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth) { shost->bqt = blk_init_tags(depth); + return shost->bqt ? 0 : -ENOMEM; } #endif /* _SCSI_SCSI_TCQ_H */