Alignment padding is not accounted for in the netlink attribute
length. Fix to avoid warnings later if we add shorter fixed
length attributes, even though it currently makes no difference
since we only add a 4 byte attribute
Signed-off-by: Bjørn Mork <bjorn@mork.no>
This fixes the missing NOARP flag on the second and following VLAN
sub-interfaces when multiplexing over the cdc_mbim driver.
ifi_change specifies all the flags we want to change. Any listed
flag which isn't set in ifi_flags will be cleared by the kernel:
if (ifm->ifi_change)
flags = (flags & ifm->ifi_change) |
(rtnl_dev_get_flags(dev) & ~ifm->ifi_change);
Drivers like cdc_mbim set some netdev flags by default, indicating
supported or unsupported features. The driver emulates an ethernet
netdev but it doesn't implement ARP. Clearing NOARP on cdc_mbim
netdevs will block IP transmissions, waiting for an ARP reply we
never will receive.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Connecting the second family of a dual stack connections fails with
'PolicyMismatch' when muxing is setup after family selection.
Switching the order of the family selection and muxing setup to
fix the problem. Looks like family selection must be the very last
WDS request before connecting the client.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Fix typo causing crash when WITH_QRTR is undefined:
[6596]: <debug> [1619029470.854688] [cdc-wdm0/probe] probing QMI...
Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
0x77a7310f in install_property_internal () from /usr/lib/libgobject-2.0.so.0
(gdb) bt
#0 0x77a7310f in install_property_internal () from /usr/lib/libgobject-2.0.so.0
#1 0x77a731db in validate_and_install_class_property () from /usr/lib/libgobject-2.0.so.0
Backtrace stopped: frame did not save the PC
Fixes: ec375bd959 ("port-qmi: add support for QRTR")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
A device like this shows up briefly while the Sierra EM7345 is booting:
P: Vendor=8087 ProdID=0716 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
We do have a driver identifying this as an "Infineon Flashloader"
device. It is not a modem in any case, and should be ignored.
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Some Qualcomm firmwares disable IPv6 unless this flag is set in nvram, at
least for the LTE default bearer. The firmware will happily let you
configure the IPV6 and IPV4V6 PDP types, also including the default
profile, but any attempt to connect will fail.
Signed-off-by: Bjørn Mork <bjorn@mork.no>