projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
clk: rockchip: add clock ids for efuse on RK3366
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
scsi
/
scsi_lib.c
diff --git
a/drivers/scsi/scsi_lib.c
b/drivers/scsi/scsi_lib.c
index dd8ad2a44510cae1b97260b7d64fc65e7770db53..cf5b99e1f12b087cbed6831530175bc2c42d2928 100644
(file)
--- a/
drivers/scsi/scsi_lib.c
+++ b/
drivers/scsi/scsi_lib.c
@@
-910,9
+910,12
@@
void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
}
/*
}
/*
- * If we finished all bytes in the request we are done now.
+ * special case: failed zero length commands always need to
+ * drop down into the retry code. Otherwise, if we finished
+ * all bytes in the request we are done now.
*/
*/
- if (!scsi_end_request(req, error, good_bytes, 0))
+ if (!(blk_rq_bytes(req) == 0 && error) &&
+ !scsi_end_request(req, error, good_bytes, 0))
return;
/*
return;
/*