don't set digital gain if analogue gain is being used
the logic seems to be: if
CID_GAIN is available, use that, else if
CID_ANALOGUE_GAIN available, that.
the selfie cam provides
CID_ANALOGUE_GAIN but somewhere the drivers's set_ctrl for
CID_DIGITAL_GAIN is being called. where? Since that's an "image processing" control, this looks like a bug. What is meant to be used is the "source control" (analogue gain).
since the selfie cam driver can apply per-channel (digital) gain for white balance calibration, this is especially bad, as white-balance gain values will be overwritten if
CID_DIGITAL_GAIN is used by the user (megapixels).