diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_iocb.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c index 4ef9ba112ee8..5ae49fd87846 100644 --- a/drivers/scsi/qla4xxx/ql4_iocb.c +++ b/drivers/scsi/qla4xxx/ql4_iocb.c | |||
@@ -202,19 +202,11 @@ static void qla4xxx_build_scsi_iocbs(struct srb *srb, | |||
202 | void qla4_8xxx_queue_iocb(struct scsi_qla_host *ha) | 202 | void qla4_8xxx_queue_iocb(struct scsi_qla_host *ha) |
203 | { | 203 | { |
204 | uint32_t dbval = 0; | 204 | uint32_t dbval = 0; |
205 | unsigned long wtime; | ||
206 | 205 | ||
207 | dbval = 0x14 | (ha->func_num << 5); | 206 | dbval = 0x14 | (ha->func_num << 5); |
208 | dbval = dbval | (0 << 8) | (ha->request_in << 16); | 207 | dbval = dbval | (0 << 8) | (ha->request_in << 16); |
209 | writel(dbval, (unsigned long __iomem *)ha->nx_db_wr_ptr); | ||
210 | wmb(); | ||
211 | 208 | ||
212 | wtime = jiffies + (2 * HZ); | 209 | qla4_8xxx_wr_32(ha, ha->nx_db_wr_ptr, ha->request_in); |
213 | while (readl((void __iomem *)ha->nx_db_rd_ptr) != dbval && | ||
214 | !time_after_eq(jiffies, wtime)) { | ||
215 | writel(dbval, (unsigned long __iomem *)ha->nx_db_wr_ptr); | ||
216 | wmb(); | ||
217 | } | ||
218 | } | 210 | } |
219 | 211 | ||
220 | /** | 212 | /** |