Hi @kerti1
This is original function from HSE Demo Examples:

The key point - whole descriptor is erased before next use. This is not implemented in your code, so there are some leftovers from previous operations. Let's compare parameters in your original version:

... with version when the descriptor was cleared at the beginning (I did that manually in my debugger):

As you can see, I got HSE_SRV_RSP_OK when the descriptor is erased before setting of parameters. Obviously HSE could not accept those messed parameters.
Regards,
Lukas