int flags;                      /* doesn't change */
        int op;
        int op_flags;
-       blk_qc_t bio_cookie;
        struct gendisk *bio_disk;
        struct inode *inode;
        loff_t i_size;                  /* i_size when submitted */
 
        dio->bio_disk = bio->bi_bdev->bd_disk;
 
-       if (sdio->submit_io) {
+       if (sdio->submit_io)
                sdio->submit_io(bio, dio->inode, sdio->logical_offset_in_bio);
-               dio->bio_cookie = BLK_QC_T_NONE;
-       } else
-               dio->bio_cookie = submit_bio(bio);
+       else
+               submit_bio(bio);
 
        sdio->bio = NULL;
        sdio->boundary = 0;
                __set_current_state(TASK_UNINTERRUPTIBLE);
                dio->waiter = current;
                spin_unlock_irqrestore(&dio->bio_lock, flags);
-               if (!(dio->iocb->ki_flags & IOCB_HIPRI) ||
-                   !blk_poll(dio->bio_disk->queue, dio->bio_cookie, true))
-                       blk_io_schedule();
+               blk_io_schedule();
                /* wake up sets us TASK_RUNNING */
                spin_lock_irqsave(&dio->bio_lock, flags);
                dio->waiter = NULL;
        } else {
                dio->op = REQ_OP_READ;
        }
-       if (iocb->ki_flags & IOCB_HIPRI)
-               dio->op_flags |= REQ_HIPRI;
 
        /*
         * For AIO O_(D)SYNC writes we need to defer completions to a workqueue