target: Fix WRITE_SAME_16 t_task_lba assignment bug
authorNicholas Bellinger <nab@linux-iscsi.org>
Tue, 3 May 2011 21:23:54 +0000 (14:23 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 22 Jul 2011 09:37:43 +0000 (09:37 +0000)
This patch fixes a bug in the assignment of cmd->t_task.t_task_lba with
WRITE_SAME_16 to correctly use get_unaligned_be64() for the 64-bit LBA.

Reported-by: Chris Greiveldinger <chris.greiveldinger@rnanetworks.com>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c

index d0cd601..a29f6d3 100644 (file)
@@ -3417,7 +3417,7 @@ static int transport_generic_cmd_sequencer(
                if (sector_ret)
                        goto out_unsupported_cdb;
                size = transport_get_size(sectors, cdb, cmd);
-               cmd->t_task.t_task_lba = get_unaligned_be16(&cdb[2]);
+               cmd->t_task.t_task_lba = get_unaligned_be64(&cdb[2]);
                passthrough = (dev->transport->transport_type ==
                                TRANSPORT_PLUGIN_PHBA_PDEV);
                /*