]> git.karo-electronics.de Git - karo-tx-linux.git/commit
net: cdc_mbim: handle unaccelerated VLAN tagged frames
authorBjørn Mork <bjorn@mork.no>
Fri, 9 May 2014 12:45:00 +0000 (14:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 May 2014 20:20:37 +0000 (13:20 -0700)
commitd177ade5a57be857df1ddbdfc06627d31f11ef06
treedc88fe00e92923732f0c51af4ec2b86f895b66f6
parent13c5c91b6b4a68dd9ac5b4ea9974c0d1402daa0f
net: cdc_mbim: handle unaccelerated VLAN tagged frames

[ Upstream commit 6b5eeb7f874b689403e52a646e485d0191ab9507 ]

This driver maps 802.1q VLANs to MBIM sessions. The mapping is based on
a bogus assumption that all tagged frames will use the acceleration API
because we enable NETIF_F_HW_VLAN_CTAG_TX. This fails for e.g. frames
tagged in userspace using packet sockets. Such frames will erroneously
be considered as untagged and silently dropped based on not being IP.

Fix by falling back to looking into the ethernet header for a tag if no
accelerated tag was found.

Fixes: a82c7ce5bc5b ("net: cdc_ncm: map MBIM IPS SessionID to VLAN ID")
Cc: Greg Suarez <gsuarez@smithmicro.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/cdc_mbim.c