-EIO instead of -EINVAL when copy_from_user fails

Switched to use -EIO instead -EINVAL for a copy_from_user
failure, which is more common.