]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
be2iscsi: Check ASYNC PDU Handle corresponds to HDR/DATA Handle
authorroot <root@localhost.localdomain>
Wed, 2 May 2012 14:25:07 +0000 (19:55 +0530)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Fri, 11 May 2012 00:08:54 +0000 (17:08 -0700)
 For each ASYNC PDU received there is an HDR and DATA handle for it.
 There will be only 1 HDR ASYNC Handle, but DATA Handle can be more
 than 1 for each ASYNC PDU received. Checking if the ASYNC Handle
 correspongs to HDR or DATA while returning the Handle to the free list.
 hwi_free_async_msg just return the handles to the free list. No return
 values are needed so changing the return type to void.

Signed-off-by: root <root@localhost.(none)>
drivers/scsi/be2iscsi/be_main.c

index 4439a5e58a66b6081eb281b3696989c684360304..fda6b36d7dc88e2c5bffb0d66cf9f57646e48748 100644 (file)
@@ -1470,14 +1470,13 @@ hwi_update_async_writables(struct hwi_async_pdu_context *pasync_ctx,
        return 0;
 }
 
-static unsigned int hwi_free_async_msg(struct beiscsi_hba *phba,
+static void hwi_free_async_msg(struct beiscsi_hba *phba,
                                       unsigned int cri)
 {
        struct hwi_controller *phwi_ctrlr;
        struct hwi_async_pdu_context *pasync_ctx;
        struct async_pdu_handle *pasync_handle, *tmp_handle;
        struct list_head *plist;
-       unsigned int i = 0;
 
        phwi_ctrlr = phba->phwi_ctrlr;
        pasync_ctx = HWI_GET_ASYNC_PDU_CTX(phwi_ctrlr);
@@ -1487,23 +1486,20 @@ static unsigned int hwi_free_async_msg(struct beiscsi_hba *phba,
        list_for_each_entry_safe(pasync_handle, tmp_handle, plist, link) {
                list_del(&pasync_handle->link);
 
-               if (i == 0) {
+               if (pasync_handle->is_header) {
                        list_add_tail(&pasync_handle->link,
                                      &pasync_ctx->async_header.free_list);
                        pasync_ctx->async_header.free_entries++;
-                       i++;
                } else {
                        list_add_tail(&pasync_handle->link,
                                      &pasync_ctx->async_data.free_list);
                        pasync_ctx->async_data.free_entries++;
-                       i++;
                }
        }
 
        INIT_LIST_HEAD(&pasync_ctx->async_entry[cri].wait_queue.list);
        pasync_ctx->async_entry[cri].wait_queue.hdr_received = 0;
        pasync_ctx->async_entry[cri].wait_queue.bytes_received = 0;
-       return 0;
 }
 
 static struct phys_addr *