/* Prevents future blocking of tgt and unblocks it. Note, it is harmless to run scsi_unblock_requests() outside the card->lock protected section. On the other hand, running it inside the section might clash with shost->host_lock.  */
static void sbp2_unblock(struct sbp2_target *tgt)
/* Prevents future blocking of tgt and unblocks it. Note, it is harmless to run scsi_unblock_requests() outside the card->lock protected section. On the other hand, running it inside the section might clash with shost->host_lock.  */
static void sbp2_unblock(struct sbp2_target *tgt)
{
	struct fw_card *card = target_device(tgt)->card;
	struct Scsi_Host *shost =
		container_of((void *)tgt, struct Scsi_Host, hostdata[0]);
	unsigned long flags;
	spin_lock_irqsave(&card->lock, flags);
	++tgt->dont_block;
	spin_unlock_irqrestore(&card->lock, flags);
	scsi_unblock_requests(shost);
}