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)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 May 2014 17:29:53 +0000 (13:29 -0400)
commit6b5eeb7f874b689403e52a646e485d0191ab9507
tree70813a5cc3f755729c5e412af1419cfc4cf5cae8
parentb3d4056632297232412dda95c9b72b1199fa797d
net: cdc_mbim: handle unaccelerated VLAN tagged frames

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>
drivers/net/usb/cdc_mbim.c