• Martin K. Petersen's avatar
    scsi: sd: Remember that READ CAPACITY(16) succeeded · 3c92c7e9
    Martin K. Petersen authored
    [ Upstream commit 597d7400 ]
    The USB storage glue sets the try_rc_10_first flag in an attempt to
    avoid wedging poorly implemented legacy USB devices.
    If the device capacity is too large to be expressed in the provided
    response buffer field of READ CAPACITY(10), a well-behaved device will
    set the reported capacity to 0xFFFFFFFF. We will then attempt to issue a
    READ CAPACITY(16) to obtain the real capacity.
    Since this part of the discovery logic is not covered by the first_scan
    flag, a warning will be printed a couple of times times per revalidate
    attempt if we upgrade from READ CAPACITY(10) to READ CAPACITY(16).
    Remember that we have successfully issued READ CAPACITY(16) so we can
    take the fast path on subsequent revalidate attempts.
    Reported-by: default avatarMenion <menion@gmail.com>
    Reviewed-by: default avatarLaurence Oberman <loberman@redhat.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
sd.c 97.7 KB