target: Fix WRITE_SAME_16 lba assignment breakage
authorNicholas Bellinger <nab@linux-iscsi.org>
Thu, 28 Jul 2011 05:18:52 +0000 (22:18 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Thu, 28 Jul 2011 06:14:49 +0000 (06:14 +0000)
This patch fixes a bug in WRITE_SAME_16 LBA assignment where get_unaligned_be16()
is incorrectly being used instead of get_unaligned_be64() for a 64-bit LBA.

This was introduced with:

commit a1d8b49abd60ba5d09e7c968731abcb0f8f1cbf6
Author: Andy Grover <agrover@redhat.com>
Date:   Mon May 2 17:12:10 2011 -0700

    target: Updates from AGrover and HCH (round 3)

    (target: inline struct se_transport_task into struct se_cmd)

Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c

index c75a01a1c4757976b776634f0fe14d00aa35b313..ff7fcf8366a036cec9460e74fb557b177b58e844 100644 (file)
@@ -3324,7 +3324,7 @@ static int transport_generic_cmd_sequencer(
                        goto out_invalid_cdb_field;
                }
 
-               cmd->t_task_lba = get_unaligned_be16(&cdb[2]);
+               cmd->t_task_lba = get_unaligned_be64(&cdb[2]);
                passthrough = (dev->transport->transport_type ==
                                TRANSPORT_PLUGIN_PHBA_PDEV);
                /*