Merge remote-tracking branch 'lsk/v3.10/topic/configs' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / target / target_core_alua.c
index f608fbc14a27b6b8564d02614b46a2c13e35ee18..df58a67f81e07e08b75e20b5605fd48f268b7d60 100644 (file)
@@ -409,7 +409,16 @@ static inline int core_alua_state_standby(
        case REPORT_LUNS:
        case RECEIVE_DIAGNOSTIC:
        case SEND_DIAGNOSTIC:
+       case READ_CAPACITY:
                return 0;
+       case SERVICE_ACTION_IN:
+               switch (cdb[1] & 0x1f) {
+               case SAI_READ_CAPACITY_16:
+                       return 0;
+               default:
+                       *alua_ascq = ASCQ_04H_ALUA_TG_PT_STANDBY;
+                       return 1;
+               }
        case MAINTENANCE_IN:
                switch (cdb[1] & 0x1f) {
                case MI_REPORT_TARGET_PGS: