[PATCH] [SCSI] target: Remove unneeded test of se_cmd

From: Roland Dreier
Date: Sun Jan 16 2011 - 00:46:39 EST


se_cmd is dereferenced unconditionally in many other parts of
transport_get_lun_for_cmd() so remove the last test whether se_cmd is NULL.

Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx>
---
I'm not 100% sure of this patch (perhaps se_cmd can be NULL here and the
whole rest of the function needs to be fixed instead), but this seems
like the more sensible thing.

drivers/target/target_core_device.c | 22 +++++++++-------------
1 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index 317ce58..d94933d 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -69,21 +69,17 @@ int transport_get_lun_for_cmd(
deve = se_cmd->se_deve =
&SE_NODE_ACL(se_sess)->device_list[unpacked_lun];
if (deve->lun_flags & TRANSPORT_LUNFLAGS_INITIATOR_ACCESS) {
- if (se_cmd) {
- deve->total_cmds++;
- deve->total_bytes += se_cmd->data_length;
-
- if (se_cmd->data_direction == DMA_TO_DEVICE) {
- if (deve->lun_flags &
- TRANSPORT_LUNFLAGS_READ_ONLY) {
- read_only = 1;
- goto out;
- }
- deve->write_bytes += se_cmd->data_length;
- } else if (se_cmd->data_direction ==
- DMA_FROM_DEVICE) {
- deve->read_bytes += se_cmd->data_length;
+ deve->total_cmds++;
+ deve->total_bytes += se_cmd->data_length;
+
+ if (se_cmd->data_direction == DMA_TO_DEVICE) {
+ if (deve->lun_flags & TRANSPORT_LUNFLAGS_READ_ONLY) {
+ read_only = 1;
+ goto out;
}
+ deve->write_bytes += se_cmd->data_length;
+ } else if (se_cmd->data_direction == DMA_FROM_DEVICE) {
+ deve->read_bytes += se_cmd->data_length;
}
deve->deve_cmds++;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/