base: return valid completion code

According to the PLDM base specification, completion code `0x21`
corresponds to `PLDM_ERROR_INVALID_TRANSFER_CONTEXT`. However, the
current implementation in `libpldm` incorrectly maps `0x21` to
`PLDM_INVALID_TRANSFER_OPERATION_FLAG`, which is not aligned with the
specification.

To maintain consistency with the standard, we should instead use
`PLDM_ERROR_UNEXPECTED_TRANSFER_FLAG_OPERATION` (`0x23`) to represent
this error condition more accurately. However, since
`PLDM_INVALID_TRANSFER_OPERATION_FLAG` is currently in use by `libpldm`
clients (such as `pldm`), removing it immediately would introduce
compatibility issues. Therefore, we will first migrate client code to
use `PLDM_ERROR_UNEXPECTED_TRANSFER_FLAG_OPERATION` (`0x23`) before
removing the incorrect definition from `libpldm`.

Change-Id: I7e2130c1f132dc6c8b426dd373b4a8a73507ac22
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
diff --git a/src/dsp/base.c b/src/dsp/base.c
index 1b16381..c3a5ed9 100644
--- a/src/dsp/base.c
+++ b/src/dsp/base.c
@@ -552,7 +552,7 @@
 
 	// Any enum value above PLDM_XFER_CURRENT_PART is invalid.
 	if (request->transfer_opflag > PLDM_XFER_CURRENT_PART) {
-		return PLDM_INVALID_TRANSFER_OPERATION_FLAG;
+		return PLDM_ERROR_UNEXPECTED_TRANSFER_FLAG_OPERATION;
 	}
 
 	// A section offset of 0 is only valid on FIRST_PART or COMPLETE Xfers.