]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/target/target_core_transport.c
target: Fix MAINTENANCE_IN service action CDB checks to use lower 5 bits
[karo-tx-linux.git] / drivers / target / target_core_transport.c
index 2a34d0e4c24cfcd5d464b5203afb1dc0f649dd09..f95a74da4d40ee397875d218a0ffc6421e466861 100644 (file)
@@ -1329,6 +1329,7 @@ static inline void transport_generic_prepare_cdb(
        case VERIFY_16: /* SBC - VRProtect */
        case WRITE_VERIFY: /* SBC - VRProtect */
        case WRITE_VERIFY_12: /* SBC - VRProtect */
+       case MAINTENANCE_IN: /* SPC - Parameter Data Format for SA RTPG */
                break;
        default:
                cdb[1] &= 0x1f; /* clear logical unit number */
@@ -2597,7 +2598,7 @@ static int transport_generic_cmd_sequencer(
                        /*
                         * Check for emulated MI_REPORT_TARGET_PGS.
                         */
-                       if (cdb[1] == MI_REPORT_TARGET_PGS &&
+                       if ((cdb[1] & 0x1f) == MI_REPORT_TARGET_PGS &&
                            su_dev->t10_alua.alua_type == SPC3_ALUA_EMULATED) {
                                cmd->execute_cmd =
                                        target_emulate_report_target_port_groups;