MBIM scan networks method does not handle provider state correctly
MbimProviderState
is defined as a bitset, and according to the MBIM specification it is possible to have multiple values set in this bitset[1], but when that is translated in mm_modem_3gpp_network_availability_from_mbim_provider_state
to a MMModem3gppNetworkAvailability
we do not treat it as such and use a regular switch-case statement. As such, any entry that combines multiple flags will result in a network availability value of "unknown".
[1] From version 1.0 errata-1 section 10.5.6.1, emphasis mine:
The following bitmap table (Table 10-36: MBIM_PROVIDER_STATE) represents the various states with which the network provider's entry can be tagged. It shows the possible values that a function should specify (one or more values can be specified). Some values in this table apply only to specific CIDs. The “Relevant Commands” column shows the associations between the different CIDs and the relevant states.