Sorry, I have missed that.
Inappropriate ioctl for device (-25) - this sounds to me as a version of the camera driver which is older and does not support scale and crop. Could you please check this? When you do
media-ctl -d /dev/media1 -p
do you see any compose and crop rectangle information on msm_vfe0_pix, e.g.:
- entity 61: msm_vfe0_pix (2 pads, 5 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev14
<- "msm_ispif0":1 
<- "msm_ispif1":1 [ENABLED]
<- "msm_ispif2":1 
<- "msm_ispif3":1 
-> "msm_vfe0_video3":0 [ENABLED,IMMUTABLE]
Otherwise the VFE scaler actually supports any downscale ratio between 1x and 16x, however as the hardware can write to memory in multiple of 16 bytes (horizontally) additional crop will be applied after the scaler if the scaler output is not multiple of 16.
Also horizontal and vertical scaling are independent so you can scale in only one dimension or use different scaling ratio for horizontal and vertical dimension - this will result in distorted image off course but there is no limitation to be configured and used.
So in your case you would probably want to either crop the vertical dimension as Bjorn suggested or scale both dimensions with the same ratio.