target: Handle 0 correctly in transport_get_sectors_6()
commit6764359b3a2840ea27cf09d1c4306598af8767bd
authorRoland Dreier <roland@purestorage.com>
Tue, 22 Nov 2011 21:51:33 +0000 (22 13:51 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 21 Dec 2011 20:58:29 +0000 (21 12:58 -0800)
tree02fa8fff0d967df12a2a7d0fd546affd266cd3e6
parent43dd6e6faffcacc6d8d9d12f15d6aa5f2f4fa351
target: Handle 0 correctly in transport_get_sectors_6()

commit 9b5cd7f37e1e018432111333e2a67f78ba41edfe upstream.

SBC-3 says:

    A TRANSFER LENGTH field set to zero specifies that 256 logical
    blocks shall be written.  Any other value specifies the number
    of logical blocks that shall be written.

The old code was always just returning the value in the TRANSFER LENGTH
byte.  Fix this to return 256 if the byte is 0.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/target/target_core_transport.c