trace_nvme_complete_rq(req);
 
        if (unlikely(status != BLK_STS_OK && nvme_req_needs_retry(req))) {
-               if (nvme_req_needs_failover(req, status)) {
+               if ((req->cmd_flags & REQ_NVME_MPATH) &&
+                   blk_path_error(status)) {
                        nvme_failover_req(req);
                        return;
                }
 
        kblockd_schedule_work(&ns->head->requeue_work);
 }
 
-bool nvme_req_needs_failover(struct request *req, blk_status_t error)
-{
-       if (!(req->cmd_flags & REQ_NVME_MPATH))
-               return false;
-       return blk_path_error(error);
-}
-
 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
 {
        struct nvme_ns *ns;
 
 void nvme_set_disk_name(char *disk_name, struct nvme_ns *ns,
                        struct nvme_ctrl *ctrl, int *flags);
 void nvme_failover_req(struct request *req);
-bool nvme_req_needs_failover(struct request *req, blk_status_t error);
 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
 int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
 void nvme_mpath_add_disk(struct nvme_ns_head *head);
 static inline void nvme_failover_req(struct request *req)
 {
 }
-static inline bool nvme_req_needs_failover(struct request *req,
-                                          blk_status_t error)
-{
-       return false;
-}
 static inline void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
 {
 }