projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-bugfix
[powerpc.git]
/
drivers
/
ide
/
ide-io.c
diff --git
a/drivers/ide/ide-io.c
b/drivers/ide/ide-io.c
index
b5dc6df
..
c01615d
100644
(file)
--- a/
drivers/ide/ide-io.c
+++ b/
drivers/ide/ide-io.c
@@
-55,8
+55,8
@@
#include <asm/io.h>
#include <asm/bitops.h>
#include <asm/io.h>
#include <asm/bitops.h>
-
int __ide_end_request(ide_drive_t *drive, struct request *rq, int uptodate
,
- int nr_sectors)
+
static int __ide_end_request(ide_drive_t *drive, struct request *rq
,
+
int uptodate,
int nr_sectors)
{
int ret = 1;
{
int ret = 1;
@@
-83,18
+83,14
@@
int __ide_end_request(ide_drive_t *drive, struct request *rq, int uptodate,
if (!end_that_request_first(rq, uptodate, nr_sectors)) {
add_disk_randomness(rq->rq_disk);
if (!end_that_request_first(rq, uptodate, nr_sectors)) {
add_disk_randomness(rq->rq_disk);
-
- if (blk_rq_tagged(rq))
- blk_queue_end_tag(drive->queue, rq);
-
blkdev_dequeue_request(rq);
HWGROUP(drive)->rq = NULL;
end_that_request_last(rq, uptodate);
ret = 0;
}
blkdev_dequeue_request(rq);
HWGROUP(drive)->rq = NULL;
end_that_request_last(rq, uptodate);
ret = 0;
}
+
return ret;
}
return ret;
}
-EXPORT_SYMBOL(__ide_end_request);
/**
* ide_end_request - complete an IDE I/O
/**
* ide_end_request - complete an IDE I/O
@@
-113,6
+109,10
@@
int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors)
unsigned long flags;
int ret = 1;
unsigned long flags;
int ret = 1;
+ /*
+ * room for locking improvements here, the calls below don't
+ * need the queue lock held at all
+ */
spin_lock_irqsave(&ide_lock, flags);
rq = HWGROUP(drive)->rq;
spin_lock_irqsave(&ide_lock, flags);
rq = HWGROUP(drive)->rq;