}
 }
 
+/**
+ * access_irq_context:         Access to reply processing
+ * @irq_context:               IRQ context
+ *
+ * Synchronize access to reply processing.
+ *
+ * Return:  true on success, false on failure.
+ */
+static inline
+bool access_irq_context(struct megasas_irq_context  *irq_context)
+{
+       if (!irq_context)
+               return true;
+
+       if (atomic_add_unless(&irq_context->in_used, 1, 1))
+               return true;
+
+       return false;
+}
+
+/**
+ * release_irq_context:                Release reply processing
+ * @irq_context:               IRQ context
+ *
+ * Release access of reply processing.
+ *
+ * Return: Nothing.
+ */
+static inline
+void release_irq_context(struct megasas_irq_context  *irq_context)
+{
+       if (irq_context)
+               atomic_dec(&irq_context->in_used);
+}
+
 /**
  * complete_cmd_fusion -       Completes command
  * @instance:                  Adapter soft state
        if (atomic_read(&instance->adprecovery) == MEGASAS_HW_CRITICAL_ERROR)
                return IRQ_HANDLED;
 
-       if (irq_context && !atomic_add_unless(&irq_context->in_used, 1, 1))
+       if (!access_irq_context(irq_context))
                return 0;
 
        desc = fusion->reply_frames_desc[MSIxIndex] +
                MPI2_RPY_DESCRIPT_FLAGS_TYPE_MASK;
 
        if (reply_descript_type == MPI2_RPY_DESCRIPT_FLAGS_UNUSED) {
-               if (irq_context)
-                       atomic_dec(&irq_context->in_used);
+               release_irq_context(irq_context);
                return IRQ_NONE;
        }
 
                                        irq_context->irq_line_enable = true;
                                        irq_poll_sched(&irq_context->irqpoll);
                                }
-                               atomic_dec(&irq_context->in_used);
+                               release_irq_context(irq_context);
                                return num_completed;
                        }
                }
                megasas_check_and_restore_queue_depth(instance);
        }
 
-       if (irq_context)
-               atomic_dec(&irq_context->in_used);
+       release_irq_context(irq_context);
 
        return num_completed;
 }