main: Don't hold profile if caller lacks permission
While the permission is checked and the caller is sent an error if it is
lacking permission to do so, the code would still continue with
performing the hold, regardless of permission.
(I haven't actually tested this, but the change seems simple enough.)