Commit f8bbb011 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley

[PATCH] PATCH [12/15] qla2xxx: RIO/ZIO fixes

  RIO/ZIO fixes:

  	o Reduce register access during RIO operation by checking
  	  for a 'dirtied' signature.

  	o Fix problem where ZIO mode handling could result in a
  	  nasty recursive call-frame.

 drivers/scsi/qla2xxx/qla_os.c |    5 +----
 1 files changed, 1 insertion(+), 4 deletions(-)
parent b1fc7fe7
...@@ -837,7 +837,7 @@ qla2x00_queuecommand(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *)) ...@@ -837,7 +837,7 @@ qla2x00_queuecommand(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *))
device_reg_t *reg; device_reg_t *reg;
reg = ha->iobase; reg = ha->iobase;
if (RD_REG_WORD(ISP_RSP_Q_IN(ha, reg)) != ha->rsp_ring_index) { if (ha->response_ring_ptr->signature != RESPONSE_PROCESSED) {
spin_lock_irqsave(&ha->hardware_lock, flags); spin_lock_irqsave(&ha->hardware_lock, flags);
qla2x00_process_response_queue(ha); qla2x00_process_response_queue(ha);
spin_unlock_irqrestore(&ha->hardware_lock, flags); spin_unlock_irqrestore(&ha->hardware_lock, flags);
...@@ -4243,9 +4243,6 @@ qla2x00_process_response_queue_in_zio_mode(scsi_qla_host_t *ha) ...@@ -4243,9 +4243,6 @@ qla2x00_process_response_queue_in_zio_mode(scsi_qla_host_t *ha)
spin_lock_irqsave(&ha->hardware_lock,flags); spin_lock_irqsave(&ha->hardware_lock,flags);
qla2x00_process_response_queue(ha); qla2x00_process_response_queue(ha);
spin_unlock_irqrestore(&ha->hardware_lock, flags); spin_unlock_irqrestore(&ha->hardware_lock, flags);
if (!list_empty(&ha->done_queue))
qla2x00_done(ha);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment