]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.39/patches.drivers/qla4xxx-5.01.00-k8_sles11-03-update
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / qla4xxx-5.01.00-k8_sles11-03-update
similarity index 95%
rename from src/patches/suse-2.6.27.31/patches.drivers/qla4xxx-5.01.00-k8_sles11-03-update
rename to src/patches/suse-2.6.27.39/patches.drivers/qla4xxx-5.01.00-k8_sles11-03-update
index 847c377e57275a0bcda704a202549fbe9e1ae3b1..b32c84440ca6e358e132915264c3afc8840b3016 100644 (file)
@@ -13,15 +13,15 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  drivers/scsi/qla4xxx/ql4_dbg.h     |   59 ++--
  drivers/scsi/qla4xxx/ql4_def.h     |   11 
  drivers/scsi/qla4xxx/ql4_glbl.h    |   10 
- drivers/scsi/qla4xxx/ql4_init.c    |  172 +++++++-----
+ drivers/scsi/qla4xxx/ql4_init.c    |  166 +++++++-----
  drivers/scsi/qla4xxx/ql4_inline.h  |  143 ++++++++++
- drivers/scsi/qla4xxx/ql4_iocb.c    |  161 +----------
- drivers/scsi/qla4xxx/ql4_isr.c     |   36 +-
- drivers/scsi/qla4xxx/ql4_mbx.c     |   11 
- drivers/scsi/qla4xxx/ql4_os.c      |  499 ++++++++++++++++++++-----------------
+ drivers/scsi/qla4xxx/ql4_iocb.c    |  161 +-----------
+ drivers/scsi/qla4xxx/ql4_isr.c     |   31 +-
+ drivers/scsi/qla4xxx/ql4_mbx.c     |    7 
+ drivers/scsi/qla4xxx/ql4_os.c      |  495 ++++++++++++++++++++-----------------
  drivers/scsi/qla4xxx/ql4_os.h      |  125 +++++++++
  drivers/scsi/qla4xxx/ql4_version.h |    3 
- 12 files changed, 736 insertions(+), 530 deletions(-)
+ 12 files changed, 727 insertions(+), 520 deletions(-)
 
 --- a/drivers/scsi/qla4xxx/ql4_dbg.c
 +++ b/drivers/scsi/qla4xxx/ql4_dbg.c
@@ -285,15 +285,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  static void ql4xxx_set_mac_number(struct scsi_qla_host *ha)
  {
        uint32_t value;
-@@ -52,15 +50,14 @@ static void ql4xxx_set_mac_number(struct
- }
- /**
-- * qla4xxx_free_ddb - deallocate ddb  
-+ * qla4xxx_free_ddb - deallocate ddb
-  * @ha: pointer to host adapter structure.
-  * @ddb_entry: pointer to device database entry
-  *
+@@ -59,8 +57,7 @@ static void ql4xxx_set_mac_number(struct
   * This routine deallocates and unlinks the specified ddb_entry from the
   * adapter's
   **/
@@ -323,15 +315,6 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                                        "failed\n", __func__, fw_ddb_index));
                                goto exit_ddb_list;
                        }
-@@ -488,7 +485,7 @@ static int qla4xxx_build_ddb_list(struct
-                       ddb_entry->connection_id = conn_id;
-                       qla4xxx_fill_ddb(ddb_entry, fw_ddb_entry);
-                       ddb_entry->fw_ddb_device_state = ddb_state;
--                      
-+
-                       if (ddb_entry->fw_ddb_device_state == DDB_DS_SESSION_ACTIVE) {
-                               atomic_set(&ddb_entry->state, DDB_STATE_ONLINE);
-                               dev_info(&ha->pdev->dev,
 @@ -695,6 +692,8 @@ static int qla4xxx_initialize_ddb_list(s
  
        qla4xxx_flush_AENS(ha);
@@ -391,15 +374,6 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                if (ql4xxx_lock_drvr_wait(ha) != QLA_SUCCESS)
                        return QLA_ERROR;
        }
-@@ -1083,7 +1081,7 @@ static int qla4xxx_start_firmware(struct
-  * @renew_ddb_list: Indicates what to do with the adapter's ddb list
-  *    after adapter recovery has completed.
-  *    0=preserve ddb list, 1=destroy and rebuild ddb list
-- * 
-+ *
-  * This routine parforms all of the steps necessary to initialize the adapter.
-  *
-  **/
 @@ -1119,12 +1117,12 @@ int qla4xxx_initialize_adapter(struct sc
         * followed by 0x8014 aen" to trigger the tgt discovery process.
         */
@@ -432,12 +406,12 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
        }
  
 -      if (!found)
--              ddb_entry = qla4xxx_alloc_ddb(ha, fw_ddb_index);
++      if (!found) {
+               ddb_entry = qla4xxx_alloc_ddb(ha, fw_ddb_index);
 -      else if (ddb_entry->fw_ddb_index != fw_ddb_index) {
 -              /* Target has been bound to a new fw_ddb_index */
 -              qla4xxx_free_ddb(ha, ddb_entry);
-+      if (!found) {
-               ddb_entry = qla4xxx_alloc_ddb(ha, fw_ddb_index);
+-              ddb_entry = qla4xxx_alloc_ddb(ha, fw_ddb_index);
 -      }
  
 -      if (ddb_entry == NULL) {
@@ -555,7 +529,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  
 -              DEBUG6(dev_info(&ha->pdev->dev, "%s conn startddb_entry 0x%p"
 -                      " sess 0x%p conn 0x%p\n",
--                      __func__, ddb_entry, ddb_entry->sess, ddb_entry->conn)); 
+-                      __func__, ddb_entry, ddb_entry->sess, ddb_entry->conn));
 -
 -              qla4xxx_conn_start(ddb_entry->conn);
 -
@@ -963,7 +937,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  
  /**
   * qla4xxx_status_entry - processes status IOCBs
-@@ -59,8 +60,8 @@ static void qla4xxx_status_entry(struct 
+@@ -59,8 +60,8 @@ static void qla4xxx_status_entry(struct
                        break;
                }
                if (sts_entry->iscsiFlags & ISCSI_FLAG_RESIDUAL_UNDER) {
@@ -974,7 +948,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                                   cmd->underflow)) {
                                cmd->result = DID_ERROR << 16;
                                break;
-@@ -144,7 +145,7 @@ static void qla4xxx_status_entry(struct 
+@@ -144,7 +145,7 @@ static void qla4xxx_status_entry(struct
                        break;
                }
  
@@ -983,7 +957,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  
                /*
                 * If there is scsi_status, it takes precedense over
-@@ -184,7 +185,7 @@ static void qla4xxx_status_entry(struct 
+@@ -184,7 +185,7 @@ static void qla4xxx_status_entry(struct
                        if ((sts_entry->iscsiFlags &
                             ISCSI_FLAG_RESIDUAL_UNDER) == 0) {
                                cmd->result = DID_BUS_BUSY << 16;
@@ -992,7 +966,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                                   cmd->underflow) {
                                /*
                                 * Handle mid-layer underflow???
-@@ -203,7 +204,7 @@ static void qla4xxx_status_entry(struct 
+@@ -203,7 +204,7 @@ static void qla4xxx_status_entry(struct
                                        "resid = 0x%x, compstat = 0x%x\n",
                                        ha->host_no, cmd->device->channel,
                                        cmd->device->id, cmd->device->lun,
@@ -1049,19 +1023,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                        break;
  
                case MBOX_ASTS_HEARTBEAT:
-@@ -470,9 +471,9 @@ static void qla4xxx_isr_decode_mailbox(s
-                       mbox_stat2 = readl(&ha->reg->mailbox[2]);
-                       mbox_stat3 = readl(&ha->reg->mailbox[3]);
--                      if ((mbox_stat3 == 5) && (mbox_stat2 == 3)) 
-+                      if ((mbox_stat3 == 5) && (mbox_stat2 == 3))
-                               set_bit(DPC_GET_DHCP_IP_ADDR, &ha->dpc_flags);
--                      else if ((mbox_stat3 == 2) && (mbox_stat2 == 5)) 
-+                      else if ((mbox_stat3 == 2) && (mbox_stat2 == 5))
-                               set_bit(DPC_RESET_HA, &ha->dpc_flags);
-                       break;
-@@ -591,10 +592,10 @@ void qla4xxx_interrupt_service_routine(s
+@@ -591,8 +592,9 @@ void qla4xxx_interrupt_service_routine(s
   * qla4xxx_intr_handler - hardware interrupt handler.
   * @irq: Unused
   * @dev_id: Pointer to host adapter structure
@@ -1070,11 +1032,9 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
 -irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id)
 +QL_DECLARE_INTR_HANDLER(qla4xxx_intr_handler, irq, dev_id, regs)
  {
--
        struct scsi_qla_host *ha;
        uint32_t intr_status;
-       unsigned long flags = 0;
-@@ -625,8 +626,7 @@ irqreturn_t qla4xxx_intr_handler(int irq
+@@ -624,8 +626,7 @@ irqreturn_t qla4xxx_intr_handler(int irq
                        intr_status = readl(&ha->reg->ctrl_status);
  
                if ((intr_status &
@@ -1084,7 +1044,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                        if (reqs_count == 0)
                                ha->spurious_int_count++;
                        break;
-@@ -662,6 +662,8 @@ irqreturn_t qla4xxx_intr_handler(int irq
+@@ -661,6 +662,8 @@ irqreturn_t qla4xxx_intr_handler(int irq
                        break;
                } else if (intr_status & CSR_SCSI_RESET_INTR) {
                        clear_bit(AF_ONLINE, &ha->flags);
@@ -1120,17 +1080,6 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
        mutex_lock(&ha->mbox_sem);
        clear_bit(AF_MBOX_COMMAND, &ha->flags);
        mutex_unlock(&ha->mbox_sem);
-@@ -851,8 +855,8 @@ int qla4xxx_get_flash(struct scsi_qla_ho
-  * qla4xxx_get_fw_version - gets firmware version
-  * @ha: Pointer to host adapter structure.
-  *
-- * Retrieves the firmware version on HBA. In QLA4010, mailboxes 2 & 3 may 
-- * hold an address for data.  Make sure that we write 0 to those mailboxes, 
-+ * Retrieves the firmware version on HBA. In QLA4010, mailboxes 2 & 3 may
-+ * hold an address for data.  Make sure that we write 0 to those mailboxes,
-  * if unused.
-  **/
- int qla4xxx_get_fw_version(struct scsi_qla_host * ha)
 @@ -882,8 +886,7 @@ int qla4xxx_get_fw_version(struct scsi_q
        return QLA_SUCCESS;
  }
@@ -1449,7 +1398,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
        ddb_entry->ha = ha;
        ddb_entry->sess = sess;
        return ddb_entry;
-@@ -371,9 +389,9 @@ void qla4xxx_mark_device_missing(struct 
+@@ -371,9 +389,9 @@ void qla4xxx_mark_device_missing(struct
  }
  
  static struct srb* qla4xxx_get_new_srb(struct scsi_qla_host *ha,
@@ -1701,14 +1650,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                spin_lock_irqsave(&ha->hardware_lock, flags);
                writel(set_rmask(CSR_NET_RESET_INTR), &ha->reg->ctrl_status);
                readl(&ha->reg->ctrl_status);
-@@ -881,14 +890,13 @@ static void qla4xxx_flush_active_srbs(st
-  * qla4xxx_recover_adapter - recovers adapter after a fatal error
-  * @ha: Pointer to host adapter structure.
-  **/
--static int qla4xxx_recover_adapter(struct scsi_qla_host *ha) 
-+static int qla4xxx_recover_adapter(struct scsi_qla_host *ha)
- {
-       int status;
+@@ -887,8 +896,7 @@ static int qla4xxx_recover_adapter(struc
  
        /* Stall incoming I/O until we are done */
        clear_bit(AF_ONLINE, &ha->flags);
@@ -1811,7 +1753,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                        qla4xxx_recover_adapter(ha);
  
                if (test_bit(DPC_RESET_HA_INTR, &ha->dpc_flags)) {
-@@ -1025,14 +1034,15 @@ static void qla4xxx_do_dpc(struct work_s
+@@ -1025,10 +1034,11 @@ static void qla4xxx_do_dpc(struct work_s
                                        break;
                                msleep(1000);
                        }
@@ -1825,11 +1767,6 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                        qla4xxx_flush_active_srbs(ha);
                        if (ql4xxx_lock_drvr_wait(ha) == QLA_SUCCESS) {
                                qla4xxx_process_aen(ha, FLUSH_DDB_CHANGED_AENS);
--                              status = qla4xxx_initialize_adapter(ha, 
-+                              status = qla4xxx_initialize_adapter(ha,
-                                               PRESERVE_DDB_LIST);
-                       }
-                       clear_bit(DPC_RESET_HA_INTR, &ha->dpc_flags);
 @@ -1049,13 +1059,42 @@ static void qla4xxx_do_dpc(struct work_s
        if (test_and_clear_bit(DPC_GET_DHCP_IP_ADDR, &ha->dpc_flags))
                qla4xxx_get_dhcp_ip_address(ha);
@@ -1875,7 +1812,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
                                qla4xxx_relogin_device(ha, ddb_entry);
  
                        /*
-@@ -1092,7 +1131,7 @@ static void qla4xxx_free_adapter(struct 
+@@ -1092,7 +1131,7 @@ static void qla4xxx_free_adapter(struct
  
        /* Issue Soft Reset to put firmware in unknown state */
        if (ql4xxx_lock_drvr_wait(ha) == QLA_SUCCESS)
@@ -2160,7 +2097,7 @@ Signed-off-by: Hannes Reinecke <hare@suse.de>
  
        ret = SUCCESS;
  
-@@ -1635,7 +1689,7 @@ static int qla4xxx_eh_host_reset(struct 
+@@ -1635,7 +1689,7 @@ static int qla4xxx_eh_host_reset(struct
        }
  
        dev_info(&ha->pdev->dev, "HOST RESET %s.\n",