|
@@ -1247,7 +1247,13 @@ static int scsi_issue_flush_fn(request_queue_t *q, struct gendisk *disk,
|
|
|
static void scsi_generic_done(struct scsi_cmnd *cmd)
|
|
|
{
|
|
|
BUG_ON(!blk_pc_request(cmd->request));
|
|
|
- scsi_io_completion(cmd, cmd->result == 0 ? cmd->bufflen : 0, 0);
|
|
|
+ /*
|
|
|
+ * This will complete the whole command with uptodate=1 so
|
|
|
+ * as far as the block layer is concerned the command completed
|
|
|
+ * successfully. Since this is a REQ_BLOCK_PC command the
|
|
|
+ * caller should check the request's errors value
|
|
|
+ */
|
|
|
+ scsi_io_completion(cmd, cmd->bufflen, 0);
|
|
|
}
|
|
|
|
|
|
static int scsi_prep_fn(struct request_queue *q, struct request *req)
|