Channel count passed in through audioDeviceIOCallback doesn't match what I passed to initialize

Hi,
My application opens up a 6-input USB UAC2 device. Its been running well for about a week.
This afternoon I moved it to a different Linux machine (running same OS) and plugged in the same
audio device. The device is initialized as follows:

resp = audMgr.initialise(NMIC,NSPKR,nullptr,false);
if (resp != "") {
    std::cout << "audMgr.initialize() failed: " << resp << std::endl;
    return(false);
}

audSetup = audMgr.getAudioDeviceSetup();
audSetup.inputDeviceName = "mydevicename";
audSetup.useDefaultInputChannels = false;
audSetup.outputDeviceName = "";
audSetup.useDefaultOutputChannels = false;
audSetup.bufferSize = HWBUFFER_SIZE;
audSetup.sampleRate = FSAMP;

resp = audMgr.setAudioDeviceSetup(audSetup, true);
if (resp != "") {
    std::cout << "audMgr.setAudioDeviceSetup() failed: " << resp << std::endl;
    return(false);
}

All good… The audioDeviceIOCallback function was being called frequently as expected.
Now I move to a different machine (same 18.0.4 Ubuntu and same audio device) and the
incoming in-channel-total of the callback is 2.
So, as shot in the dark, I added one line to the above initialization…

audSetup.inputChannels = 0x3f; // BitInteger equivalent

And now its back to working.
Does this make sense?