iavf_fdir_list_add_fltr(adapter, fltr);
        adapter->fdir_active_fltr++;
        fltr->state = IAVF_FDIR_FLTR_ADD_REQUEST;
-       adapter->aq_required |= IAVF_FLAG_AQ_ADD_FDIR_FILTER;
        spin_unlock_bh(&adapter->fdir_fltr_lock);
 
-       mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+       iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_FDIR_FILTER);
 
 ret:
        if (err && fltr)
        if (fltr) {
                if (fltr->state == IAVF_FDIR_FLTR_ACTIVE) {
                        fltr->state = IAVF_FDIR_FLTR_DEL_REQUEST;
-                       adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER;
                } else {
                        err = -EBUSY;
                }
        spin_unlock_bh(&adapter->fdir_fltr_lock);
 
        if (fltr && fltr->state == IAVF_FDIR_FLTR_DEL_REQUEST)
-               mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+               iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DEL_FDIR_FILTER);
 
        return err;
 }
                        rss_old->hash_flds = hash_flds;
                        memcpy(&rss_old->cfg_msg, &rss_new->cfg_msg,
                               sizeof(rss_new->cfg_msg));
-                       adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG;
                } else {
                        err = -EEXIST;
                }
                rss_new->packet_hdrs = hdrs;
                rss_new->hash_flds = hash_flds;
                list_add_tail(&rss_new->list, &adapter->adv_rss_list_head);
-               adapter->aq_required |= IAVF_FLAG_AQ_ADD_ADV_RSS_CFG;
        }
        spin_unlock_bh(&adapter->adv_rss_lock);
 
        if (!err)
-               mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+               iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_ADV_RSS_CFG);
 
        mutex_unlock(&adapter->crit_lock);
 
 
         */
        new_f->is_primary = true;
        new_f->add = true;
-       adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER;
        ether_addr_copy(hw->mac.addr, new_mac);
 
        spin_unlock_bh(&adapter->mac_vlan_list_lock);
 
        /* schedule the watchdog task to immediately process the request */
-       mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+       iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ADD_MAC_FILTER);
        return 0;
 }
 
 
        iavf_napi_enable_all(adapter);
 
-       adapter->aq_required |= IAVF_FLAG_AQ_ENABLE_QUEUES;
-       mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+       iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_ENABLE_QUEUES);
 }
 
 /**
                        adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG;
        }
 
-       adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES;
-       mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
+       iavf_schedule_aq_request(adapter, IAVF_FLAG_AQ_DISABLE_QUEUES);
 }
 
 /**
                }
        }
 
-       if (aq_required) {
-               adapter->aq_required |= aq_required;
-               mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
-       }
+       if (aq_required)
+               iavf_schedule_aq_request(adapter, aq_required);
 }
 
 /**