Tighten up error handling in rxgk_crypto.c

Also removes some double-buffering that was not needed.

Change-Id: Ibe87cc8e69776829cffd0c1e7bd4cb5d2d12af10