diff options
author | adam radford <aradford@gmail.com> | 2009-05-05 11:45:37 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-05-15 12:23:32 -0400 |
commit | 8454e9888cb0316dd296fd5d47c612248ed5e1d1 (patch) | |
tree | 51ce1112e7a0ddf385b88c501cd12ee498b90c24 /drivers | |
parent | 5e43754fd949193252ecb470d7fb08b547a1e310 (diff) | |
download | op-kernel-dev-8454e9888cb0316dd296fd5d47c612248ed5e1d1.zip op-kernel-dev-8454e9888cb0316dd296fd5d47c612248ed5e1d1.tar.gz |
[SCSI] 3w-9xxx: scsi_dma_unmap fix
This patch fixes the following regression the occurred during the
scsi_dma_map()/unmap() changes:
3w-9xxx 0001:45:00.0: DMA-API: device driver tries to free DMA memory
it has not allocated [device address=0x0000000000000000] [size=36
bytes]
Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/3w-9xxx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c index 8b7983a..36c21b1 100644 --- a/drivers/scsi/3w-9xxx.c +++ b/drivers/scsi/3w-9xxx.c @@ -1978,7 +1978,8 @@ static void twa_unmap_scsi_data(TW_Device_Extension *tw_dev, int request_id) { struct scsi_cmnd *cmd = tw_dev->srb[request_id]; - scsi_dma_unmap(cmd); + if (cmd->SCp.phase == TW_PHASE_SGLIST) + scsi_dma_unmap(cmd); } /* End twa_unmap_scsi_data() */ /* scsi_host_template initializer */ |