> The existing code is inconsistent in reporting and accepting the combined > channel count. bnxt_get_channels() reports maximum combined as the > maximum rx count. bnxt_set_channels() accepts combined count that cannot be > bigger than max rx or max tx. > > For example, if max rx = 2 and max tx = 1, we report max supported combined to > be 2. But if the user tries to set combined to 2, it will fail because 2 is > bigger > than max tx which is 1. > > Fix the code to be consistent. Max allowed combined = max(max_rx, max_tx). > We will accept a combined channel count <= max(max_rx, max_tx).
Don't you mean the 'max allowed combined = min(max_rx, max_tx)'. How does using 'max' change the faulty scenario you've described?