Merge branch 'pm-tools'
[deliverable/linux.git] / drivers / block / pktcdvd.c
index 7be2375db7f2630e8412bd2c21819ae35a6c8da0..d06c62eccdf00b81241fba6b3e6d3a05e4e4c923 100644 (file)
@@ -704,14 +704,14 @@ static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *
        int ret = 0;
 
        rq = blk_get_request(q, (cgc->data_direction == CGC_DATA_WRITE) ?
-                            WRITE : READ, __GFP_WAIT);
+                            WRITE : READ, __GFP_RECLAIM);
        if (IS_ERR(rq))
                return PTR_ERR(rq);
        blk_rq_set_block_pc(rq);
 
        if (cgc->buflen) {
                ret = blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen,
-                                     __GFP_WAIT);
+                                     __GFP_RECLAIM);
                if (ret)
                        goto out;
        }
@@ -2441,7 +2441,7 @@ static void pkt_make_request_write(struct request_queue *q, struct bio *bio)
        }
 }
 
-static void pkt_make_request(struct request_queue *q, struct bio *bio)
+static blk_qc_t pkt_make_request(struct request_queue *q, struct bio *bio)
 {
        struct pktcdvd_device *pd;
        char b[BDEVNAME_SIZE];
@@ -2467,7 +2467,7 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio)
         */
        if (bio_data_dir(bio) == READ) {
                pkt_make_request_read(pd, bio);
-               return;
+               return BLK_QC_T_NONE;
        }
 
        if (!test_bit(PACKET_WRITABLE, &pd->flags)) {
@@ -2499,13 +2499,12 @@ static void pkt_make_request(struct request_queue *q, struct bio *bio)
                pkt_make_request_write(q, split);
        } while (split != bio);
 
-       return;
+       return BLK_QC_T_NONE;
 end_io:
        bio_io_error(bio);
+       return BLK_QC_T_NONE;
 }
 
-
-
 static void pkt_init_queue(struct pktcdvd_device *pd)
 {
        struct request_queue *q = pd->disk->queue;
@@ -2803,8 +2802,7 @@ out_new_dev:
 out_mem2:
        put_disk(disk);
 out_mem:
-       if (pd->rb_pool)
-               mempool_destroy(pd->rb_pool);
+       mempool_destroy(pd->rb_pool);
        kfree(pd);
 out_mutex:
        mutex_unlock(&ctl_mutex);
This page took 0.026215 seconds and 5 git commands to generate.