[SCSI] 3w-9xxx: fix iommu_iova leak
authorJames Bottomley <JBottomley@Parallels.com>
Sun, 18 Sep 2011 14:56:20 +0000 (18:56 +0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 26 Sep 2011 14:28:58 +0000 (09:28 -0500)
commit96067723e46b0dd24ae7b934085ab4eff4d26a1b
tree5c0e448201766cc3459c4958064275e2564a43e9
parente48f129c2f200dde8899f6ea5c6e7173674fc482
[SCSI] 3w-9xxx: fix iommu_iova leak

Following reports on the list, it looks like the 3e-9xxx driver will leak dma
mappings every time we get a transient queueing error back from the card.
This is because it maps the sg list in the routine that sends the command, but
doesn't unmap again in the transient failure path (even though the command is
sent back to the block layer).  Fix by unmapping before returning the status.

Reported-by: Chris Boot <bootc@bootc.net>
Tested-by: Chris Boot <bootc@bootc.net>
Acked-by: Adam Radford <aradford@gmail.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/3w-9xxx.c