diff options
-rw-r--r-- | drivers/target/target_core_spc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c index bd16a93a7a3f..894e83bc223d 100644 --- a/drivers/target/target_core_spc.c +++ b/drivers/target/target_core_spc.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include "target_core_alua.h" | 35 | #include "target_core_alua.h" |
36 | #include "target_core_pr.h" | 36 | #include "target_core_pr.h" |
37 | #include "target_core_ua.h" | 37 | #include "target_core_ua.h" |
38 | 38 | #include "target_core_xcopy.h" | |
39 | 39 | ||
40 | static void spc_fill_alua_data(struct se_port *port, unsigned char *buf) | 40 | static void spc_fill_alua_data(struct se_port *port, unsigned char *buf) |
41 | { | 41 | { |
@@ -1252,8 +1252,14 @@ spc_parse_cdb(struct se_cmd *cmd, unsigned int *size) | |||
1252 | *size = (cdb[6] << 24) | (cdb[7] << 16) | (cdb[8] << 8) | cdb[9]; | 1252 | *size = (cdb[6] << 24) | (cdb[7] << 16) | (cdb[8] << 8) | cdb[9]; |
1253 | break; | 1253 | break; |
1254 | case EXTENDED_COPY: | 1254 | case EXTENDED_COPY: |
1255 | case READ_ATTRIBUTE: | 1255 | *size = get_unaligned_be32(&cdb[10]); |
1256 | cmd->execute_cmd = target_do_xcopy; | ||
1257 | break; | ||
1256 | case RECEIVE_COPY_RESULTS: | 1258 | case RECEIVE_COPY_RESULTS: |
1259 | *size = get_unaligned_be32(&cdb[10]); | ||
1260 | cmd->execute_cmd = target_do_receive_copy_results; | ||
1261 | break; | ||
1262 | case READ_ATTRIBUTE: | ||
1257 | case WRITE_ATTRIBUTE: | 1263 | case WRITE_ATTRIBUTE: |
1258 | *size = (cdb[10] << 24) | (cdb[11] << 16) | | 1264 | *size = (cdb[10] << 24) | (cdb[11] << 16) | |
1259 | (cdb[12] << 8) | cdb[13]; | 1265 | (cdb[12] << 8) | cdb[13]; |