broadband-modem-mbim: handle mhi-pci-generic as a valid data port driver
mhi_wwan_mbim ends up being detected as mhi-pci-generic, so we need to look for that in addition to cdc_wwan when doing MBIM data port stuff. Otherwise devices (various Foxconn X55/X72, Cinterion MV3x, Quectel EM1xx, Telit FN990) that expose the IP_HW0_MBIM MHI channel won't correctly clean up data ports on startup, and may not correctly handle bearer multiplexing. mhi_net is only used for QMI devices with rmnet so it shouldn't be involved in the MBIM data path at all. Signed-off-by: Dan Williams <dan@ioncontrol.co>
This commit is contained in:
@@ -344,7 +344,7 @@ peek_port_mbim_for_data (MMBroadbandModemMbim *self,
|
||||
g_assert (mm_port_get_subsys (data) == MM_PORT_SUBSYS_NET);
|
||||
|
||||
net_port_driver = mm_kernel_device_get_driver (mm_port_peek_kernel_device (data));
|
||||
if (g_strcmp0 (net_port_driver, "cdc_mbim") != 0 && g_strcmp0 (net_port_driver, "mhi_net")) {
|
||||
if (g_strcmp0 (net_port_driver, "cdc_mbim") && g_strcmp0 (net_port_driver, "mhi-pci-generic")) {
|
||||
g_set_error (error,
|
||||
MM_CORE_ERROR,
|
||||
MM_CORE_ERROR_FAILED,
|
||||
@@ -354,7 +354,7 @@ peek_port_mbim_for_data (MMBroadbandModemMbim *self,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!g_strcmp0 (net_port_driver, "mhi_net"))
|
||||
if (!g_strcmp0 (net_port_driver, "mhi-pci-generic"))
|
||||
return mm_broadband_modem_mbim_peek_port_mbim (self);
|
||||
|
||||
net_port_parent_path = mm_kernel_device_get_interface_sysfs_path (mm_port_peek_kernel_device (data));
|
||||
|
||||
Reference in New Issue
Block a user