If ipack_device_register() returns an error, then we returned a freed
pointer. The caller doesn't use it, but it means we return success to
the user instead of returning an error code.
I kind of rewrote the error handling in this function as a cleanup.
Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>