bfq_put_idle_entity(bfq_entity_service_tree(entity), entity);
        bfqg_and_blkg_put(old_parent);
 
-       if (entity->parent &&
-           entity->parent->last_bfqq_created == bfqq)
-               entity->parent->last_bfqq_created = NULL;
-       else if (bfqd->last_bfqq_created == bfqq)
-               bfqd->last_bfqq_created = NULL;
-
+       bfq_reassign_last_bfqq(bfqq, NULL);
        entity->parent = bfqg->my_entity;
        entity->sched_data = &bfqg->sched_data;
        /* pin down bfqg and its associated blkg  */
 
 }
 
 
-static void
-bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq, struct bfq_queue *new_bfqq)
+void bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq,
+                           struct bfq_queue *new_bfqq)
 {
        if (cur_bfqq->entity.parent &&
            cur_bfqq->entity.parent->last_bfqq_created == cur_bfqq)
 
 void bfq_add_bfqq_busy(struct bfq_queue *bfqq);
 void bfq_add_bfqq_in_groups_with_pending_reqs(struct bfq_queue *bfqq);
 void bfq_del_bfqq_in_groups_with_pending_reqs(struct bfq_queue *bfqq);
+void bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq,
+                           struct bfq_queue *new_bfqq);
 
 /* --------------- end of interface of B-WF2Q+ ---------------- */