Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 77611
b: refs/heads/master
c: 1c5093b
h: refs/heads/master
i:
  77609: 84d3b6f
  77607: 58fbad8
v: v3
  • Loading branch information
Kiyoshi Ueda authored and Jens Axboe committed Jan 28, 2008
1 parent 611c89c commit 5521881
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0156c2547e92df559d5592aad9535838ef459615
refs/heads/master: 1c5093ba036b5e1a4befdcd6036d241178a720a8
16 changes: 7 additions & 9 deletions trunk/drivers/block/floppy.c
Original file line number Diff line number Diff line change
Expand Up @@ -2287,21 +2287,19 @@ static int do_format(int drive, struct format_descr *tmp_format_req)
* =============================
*/

static void floppy_end_request(struct request *req, int uptodate)
static void floppy_end_request(struct request *req, int error)
{
unsigned int nr_sectors = current_count_sectors;
unsigned int drive = (unsigned long)req->rq_disk->private_data;

/* current_count_sectors can be zero if transfer failed */
if (!uptodate)
if (error)
nr_sectors = req->current_nr_sectors;
if (end_that_request_first(req, uptodate, nr_sectors))
if (__blk_end_request(req, error, nr_sectors << 9))
return;
add_disk_randomness(req->rq_disk);
floppy_off((long)req->rq_disk->private_data);
blkdev_dequeue_request(req);
end_that_request_last(req, uptodate);

/* We're done with the request */
floppy_off(drive);
current_req = NULL;
}

Expand Down Expand Up @@ -2332,7 +2330,7 @@ static void request_done(int uptodate)

/* unlock chained buffers */
spin_lock_irqsave(q->queue_lock, flags);
floppy_end_request(req, 1);
floppy_end_request(req, 0);
spin_unlock_irqrestore(q->queue_lock, flags);
} else {
if (rq_data_dir(req) == WRITE) {
Expand All @@ -2346,7 +2344,7 @@ static void request_done(int uptodate)
DRWE->last_error_generation = DRS->generation;
}
spin_lock_irqsave(q->queue_lock, flags);
floppy_end_request(req, 0);
floppy_end_request(req, -EIO);
spin_unlock_irqrestore(q->queue_lock, flags);
}
}
Expand Down

0 comments on commit 5521881

Please sign in to comment.