summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/atp870u.h
diff options
context:
space:
mode:
authorJames Bottomley <jejb@titanic.(none)>2005-09-15 15:59:36 +0200
committerJames Bottomley <jejb@titanic.(none)>2005-09-15 15:59:36 +0200
commitb5683557331b129658ab435391df527ef72d63dc (patch)
tree121d9502ed38b7b01c17532e2a28806a1108f457 /drivers/scsi/atp870u.h
parent[SCSI] fix sym scsi boot hang (diff)
downloadlinux-b5683557331b129658ab435391df527ef72d63dc.tar.xz
linux-b5683557331b129658ab435391df527ef72d63dc.zip
[SCSI] atp870u: fix memory addressing bug
From: Alan Cox <alan@redhat.com> The virt_to_bus() wasn't correctly taken out of this driver. It needs to be able to track both physical and virtual addresses for its prd table. Update the driver to do this with separate tracking entries. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/atp870u.h')
-rw-r--r--drivers/scsi/atp870u.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/atp870u.h b/drivers/scsi/atp870u.h
index 89f43af39cf2..62bae64a01c1 100644
--- a/drivers/scsi/atp870u.h
+++ b/drivers/scsi/atp870u.h
@@ -54,8 +54,9 @@ struct atp_unit
unsigned long tran_len;
unsigned long last_len;
unsigned char *prd_pos;
- unsigned char *prd_table;
- dma_addr_t prdaddr;
+ unsigned char *prd_table; /* Kernel address of PRD table */
+ dma_addr_t prd_bus; /* Bus address of PRD */
+ dma_addr_t prdaddr; /* Dynamically updated in driver */
struct scsi_cmnd *curr_req;
} id[2][16];
struct Scsi_Host *host;