aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 14:15:36 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-15 14:15:36 -0400
commit98339cbd360b77c3167db287fd611468c2c44559 (patch)
tree06779e040c18aa40fc5a6e15b132fa1f70ec45f6 /block
parente4e0fadcd929138aa82130a1c5f22206d86d7bb2 (diff)
parentcbbc4e818de4451cdef75a112b7fc8a523d5d2a0 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (80 commits) ide-floppy: fix unfortunate function naming ide-tape: unify idetape_create_read/write_cmd ide: add ide_pc_intr() helper ide-{floppy,scsi}: read Status Register before stopping DMA engine ide-scsi: add more debugging to idescsi_pc_intr() ide-scsi: use pc->callback ide-floppy: add more debugging to idefloppy_pc_intr() ide-tape: always log debug info in idetape_pc_intr() if debugging is enabled ide-tape: add ide_tape_io_buffers() helper ide-tape: factor out DSC handling from idetape_pc_intr() ide-{floppy,tape}: move checking of ->failed_pc to ->callback ide: add ide_issue_pc() helper ide: add PC_FLAG_DRQ_INTERRUPT pc flag ide-scsi: move idescsi_map_sg() call out from idescsi_issue_pc() ide: add ide_transfer_pc() helper ide-scsi: set drive->scsi flag for devices handled by the driver ide-{cd,floppy,tape}: remove checking for drive->scsi ide: add PC_FLAG_ZIP_DRIVE pc flag ide-tape: factor out waiting for good ireason from idetape_transfer_pc() ide-tape: set PC_FLAG_DMA_IN_PROGRESS flag in idetape_transfer_pc() ...
Diffstat (limited to 'block')
-rw-r--r--block/blk-core.c12
-rw-r--r--block/blk-exec.c6
2 files changed, 7 insertions, 11 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index c6e536597c8a..fef79ccb2a11 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1042,15 +1042,9 @@ void blk_put_request(struct request *req)
1042 unsigned long flags; 1042 unsigned long flags;
1043 struct request_queue *q = req->q; 1043 struct request_queue *q = req->q;
1044 1044
1045 /* 1045 spin_lock_irqsave(q->queue_lock, flags);
1046 * Gee, IDE calls in w/ NULL q. Fix IDE and remove the 1046 __blk_put_request(q, req);
1047 * following if (q) test. 1047 spin_unlock_irqrestore(q->queue_lock, flags);
1048 */
1049 if (q) {
1050 spin_lock_irqsave(q->queue_lock, flags);
1051 __blk_put_request(q, req);
1052 spin_unlock_irqrestore(q->queue_lock, flags);
1053 }
1054} 1048}
1055EXPORT_SYMBOL(blk_put_request); 1049EXPORT_SYMBOL(blk_put_request);
1056 1050
diff --git a/block/blk-exec.c b/block/blk-exec.c
index 391dd6224890..9bceff7674f2 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -18,7 +18,7 @@
18 * @rq: request to complete 18 * @rq: request to complete
19 * @error: end io status of the request 19 * @error: end io status of the request
20 */ 20 */
21void blk_end_sync_rq(struct request *rq, int error) 21static void blk_end_sync_rq(struct request *rq, int error)
22{ 22{
23 struct completion *waiting = rq->end_io_data; 23 struct completion *waiting = rq->end_io_data;
24 24
@@ -31,7 +31,6 @@ void blk_end_sync_rq(struct request *rq, int error)
31 */ 31 */
32 complete(waiting); 32 complete(waiting);
33} 33}
34EXPORT_SYMBOL(blk_end_sync_rq);
35 34
36/** 35/**
37 * blk_execute_rq_nowait - insert a request into queue for execution 36 * blk_execute_rq_nowait - insert a request into queue for execution
@@ -58,6 +57,9 @@ void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
58 spin_lock_irq(q->queue_lock); 57 spin_lock_irq(q->queue_lock);
59 __elv_add_request(q, rq, where, 1); 58 __elv_add_request(q, rq, where, 1);
60 __generic_unplug_device(q); 59 __generic_unplug_device(q);
60 /* the queue is stopped so it won't be plugged+unplugged */
61 if (blk_pm_resume_request(rq))
62 q->request_fn(q);
61 spin_unlock_irq(q->queue_lock); 63 spin_unlock_irq(q->queue_lock);
62} 64}
63EXPORT_SYMBOL_GPL(blk_execute_rq_nowait); 65EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);