scsi: qla2xxx: Make qla2x00_process_response_queue() easier to read
authorBart Van Assche <bvanassche@acm.org>
Thu, 4 Apr 2019 19:44:44 +0000 (12:44 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 9 Apr 2019 02:16:34 +0000 (22:16 -0400)
Make qla2x00_process_response_queue() easier to read by splitting this
function. This patch does not change any functionality.

Cc: Himanshu Madhani <hmadhani@marvell.com>
Cc: Giridhar Malavali <gmalavali@marvell.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_isr.c

index 055d313a046152fca3881a3866ff14e61f0dbd85..aed1fc352efd5439e5fd0ae5e4291dc187edb16a 100644 (file)
@@ -1972,6 +1972,52 @@ static void qla_ctrlvp_completed(scsi_qla_host_t *vha, struct req_que *req,
        sp->done(sp, rval);
 }
 
+/* Process a single response queue entry. */
+static void qla2x00_process_response_entry(struct scsi_qla_host *vha,
+                                          struct rsp_que *rsp,
+                                          sts_entry_t *pkt)
+{
+       sts21_entry_t *sts21_entry;
+       sts22_entry_t *sts22_entry;
+       uint16_t handle_cnt;
+       uint16_t cnt;
+
+       switch (pkt->entry_type) {
+       case STATUS_TYPE:
+               qla2x00_status_entry(vha, rsp, pkt);
+               break;
+       case STATUS_TYPE_21:
+               sts21_entry = (sts21_entry_t *)pkt;
+               handle_cnt = sts21_entry->handle_count;
+               for (cnt = 0; cnt < handle_cnt; cnt++)
+                       qla2x00_process_completed_request(vha, rsp->req,
+                                               sts21_entry->handle[cnt]);
+               break;
+       case STATUS_TYPE_22:
+               sts22_entry = (sts22_entry_t *)pkt;
+               handle_cnt = sts22_entry->handle_count;
+               for (cnt = 0; cnt < handle_cnt; cnt++)
+                       qla2x00_process_completed_request(vha, rsp->req,
+                                               sts22_entry->handle[cnt]);
+               break;
+       case STATUS_CONT_TYPE:
+               qla2x00_status_cont_entry(rsp, (sts_cont_entry_t *)pkt);
+               break;
+       case MBX_IOCB_TYPE:
+               qla2x00_mbx_iocb_entry(vha, rsp->req, (struct mbx_entry *)pkt);
+               break;
+       case CT_IOCB_TYPE:
+               qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE);
+               break;
+       default:
+               /* Type Not Supported. */
+               ql_log(ql_log_warn, vha, 0x504a,
+                      "Received unknown response pkt type %x entry status=%x.\n",
+                      pkt->entry_type, pkt->entry_status);
+               break;
+       }
+}
+
 /**
  * qla2x00_process_response_queue() - Process response queue entries.
  * @rsp: response queue
@@ -1983,8 +2029,6 @@ qla2x00_process_response_queue(struct rsp_que *rsp)
        struct qla_hw_data *ha = rsp->hw;
        struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
        sts_entry_t     *pkt;
-       uint16_t        handle_cnt;
-       uint16_t        cnt;
 
        vha = pci_get_drvdata(ha->pdev);
 
@@ -2009,42 +2053,7 @@ qla2x00_process_response_queue(struct rsp_que *rsp)
                        continue;
                }
 
-               switch (pkt->entry_type) {
-               case STATUS_TYPE:
-                       qla2x00_status_entry(vha, rsp, pkt);
-                       break;
-               case STATUS_TYPE_21:
-                       handle_cnt = ((sts21_entry_t *)pkt)->handle_count;
-                       for (cnt = 0; cnt < handle_cnt; cnt++) {
-                               qla2x00_process_completed_request(vha, rsp->req,
-                                   ((sts21_entry_t *)pkt)->handle[cnt]);
-                       }
-                       break;
-               case STATUS_TYPE_22:
-                       handle_cnt = ((sts22_entry_t *)pkt)->handle_count;
-                       for (cnt = 0; cnt < handle_cnt; cnt++) {
-                               qla2x00_process_completed_request(vha, rsp->req,
-                                   ((sts22_entry_t *)pkt)->handle[cnt]);
-                       }
-                       break;
-               case STATUS_CONT_TYPE:
-                       qla2x00_status_cont_entry(rsp, (sts_cont_entry_t *)pkt);
-                       break;
-               case MBX_IOCB_TYPE:
-                       qla2x00_mbx_iocb_entry(vha, rsp->req,
-                           (struct mbx_entry *)pkt);
-                       break;
-               case CT_IOCB_TYPE:
-                       qla2x00_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE);
-                       break;
-               default:
-                       /* Type Not Supported. */
-                       ql_log(ql_log_warn, vha, 0x504a,
-                           "Received unknown response pkt type %x "
-                           "entry status=%x.\n",
-                           pkt->entry_type, pkt->entry_status);
-                       break;
-               }
+               qla2x00_process_response_entry(vha, rsp, pkt);
                ((response_t *)pkt)->signature = RESPONSE_PROCESSED;
                wmb();
        }