Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3070f69b authored by Jens Axboe's avatar Jens Axboe
Browse files

scsi: make sure that scsi_init_shared_tag_map() doesn't overwrite existing map



Right now callers have to check whether scsi_host->bqt is already
set up, it's much cleaner to just have scsi_init_shared_tag_map()
does this check on its own.

Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 1d63e726
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -140,8 +140,18 @@ static inline struct scsi_cmnd *scsi_find_tag(struct scsi_device *sdev, int tag)
 */
static inline int scsi_init_shared_tag_map(struct Scsi_Host *shost, int depth)
{
	/*
	 * If the shared tag map isn't already initialized, do it now.
	 * This saves callers from having to check ->bqt when setting up
	 * devices on the shared host (for libata)
	 */
	if (!shost->bqt) {
		shost->bqt = blk_init_tags(depth);
	return shost->bqt ? 0 : -ENOMEM;
		if (!shost->bqt)
			return -ENOMEM;
	}

	return 0;
}

/**