target: Handle 0 correctly in transport_get_sectors_6()
authorRoland Dreier <roland@purestorage.com>
Tue, 22 Nov 2011 21:51:33 +0000 (13:51 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Tue, 6 Dec 2011 06:00:55 +0000 (06:00 +0000)
commit9b5cd7f37e1e018432111333e2a67f78ba41edfe
treec1d620a534f0fcb36c354bbe35daf53f3d30a743
parent410f670202f0f13cdac8459b9c3effeeead135d1
target: Handle 0 correctly in transport_get_sectors_6()

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>
Cc: stable@kernel.org
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c