linux/drivers/net/usb
Bjørn Mork 80ad5bd1b4 usbnet: fix alignment for frames with no ethernet header
[ Upstream commit a4abd7a80a ]

The qmi_wwan minidriver support a 'raw-ip' mode where frames are
received without any ethernet header. This causes alignment issues
because the skbs allocated by usbnet are "IP aligned".

Fix by allowing minidrivers to disable the additional alignment
offset. This is implemented using a per-device flag, since the same
minidriver also supports 'ethernet' mode.

Fixes: 32f7adf633 ("net: qmi_wwan: support "raw IP" mode")
Reported-and-tested-by: Jay Foster <jay@systech.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>
History 2017-12-16 16:25:45 +01:00
..
asix.h net: asix: Add in_pm parameter 2016-08-31 21:07:05 -07:00
asix_common.c net: asix: Avoid looping when the device does not respond 2016-10-14 16:06:54 -04:00
asix_devices.c net: usb: asix: fill null-ptr-deref in asix_suspend 2017-11-24 08:33:41 +01:00
ax88172a.c net: asix: Add in_pm parameter 2016-08-31 21:07:05 -07:00
ax88179_178a.c Net Driver: Add Cypress GX3 VID=04b4 PID=3610. 2016-11-09 21:45:34 -05:00
catc.c catc: Use heap buffer for memory size test 2017-02-18 15:11:42 +01:00
cdc-phonet.c cdc-phonet: use common parser 2015-09-15 12:43:49 -07:00
cdc_eem.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
cdc_ether.c net: cdc_ether: fix divide by 0 on bad descriptors 2017-11-24 08:33:40 +01:00
cdc_mbim.c NET: usb: cdc_mbim: add quirk for supporting Telit LE922A 2016-12-08 13:02:25 -05:00
cdc_ncm.c cdc_ncm: Set NTB format again after altsetting switch for Huawei devices 2017-11-15 15:53:17 +01:00
cdc_subset.c cdc_subset: deal with a device that needs reset for timeout 2014-08-02 15:44:18 -07:00
ch9200.c net: usb: ch9200: use kmemdup 2016-05-20 19:50:07 -04:00
cx82310_eth.c cx82310_eth: fix semicolon.cocci warnings 2015-03-24 14:56:02 -04:00
dm9601.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
gl620a.c usbnet: remove generic hard_header_len check 2014-02-17 14:35:46 -05:00
hso.c hso: Convert printk to pr_<level> 2016-09-06 13:29:51 -07:00
huawei_cdc_ncm.c cdc_ncm: Set NTB format again after altsetting switch for Huawei devices 2017-11-15 15:53:17 +01:00
int51x1.c usb: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
ipheth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
kalmia.c kalmia: avoid potential uninitialized variable use 2016-10-27 16:27:34 -04:00
kaweth.c kaweth: remove obsolete debugging statements 2016-09-07 17:45:31 -07:00
Kconfig usb: plusb: Add support for PL-27A1 2017-10-08 10:26:08 +02:00
lan78xx.c net: usb: set error code when usb_alloc_urb fails 2016-12-05 13:27:15 -05:00
lan78xx.h lan78xx: replace devid to chipid & chiprev 2016-02-29 17:12:07 -05:00
lg-vl600.c net: usb: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
Makefile USB: cdc_subset: only build when one driver is enabled 2016-02-18 15:59:45 -05:00
mcs7830.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
net1080.c usbnet: remove generic hard_header_len check 2014-02-17 14:35:46 -05:00
pegasus.c pegasus: Use heap buffers for all register access 2017-02-18 15:11:42 +01:00
pegasus.h drivers: net: usb: pegasus: fix control urb submission 2013-04-29 13:57:50 -04:00
plusb.c usb: plusb: Add support for PL-27A1 2017-10-08 10:26:08 +02:00
qmi_wwan.c usbnet: fix alignment for frames with no ethernet header 2017-12-16 16:25:45 +01:00
r8152.c r8152: avoid start_xmit to schedule napi when napi is disabled 2017-06-17 06:41:55 +02:00
rndis_host.c rndis_host: Set valid random MAC on buggy devices 2016-07-16 20:03:04 -07:00
rtl8150.c rtl8150: Use heap buffers for all register access 2017-02-18 15:11:42 +01:00
sierra_net.c sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 2017-06-17 06:41:50 +02:00
smsc75xx.c usbnet/smsc75xx: silence uninitialized variable warning 2016-05-04 16:58:56 -04:00
smsc75xx.h usb: Fix FSF address in file headers 2013-12-06 12:37:55 -05:00
smsc95xx.c smsc95xx: Add mdix control via ethtool 2016-09-06 13:28:10 -07:00
smsc95xx.h smsc95xx: Add register define 2016-09-06 13:28:10 -07:00
sr9700.c net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9700.h net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9800.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
sr9800.h USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support 2014-02-10 16:53:06 -08:00
usbnet.c usbnet: fix alignment for frames with no ethernet header 2017-12-16 16:25:45 +01:00
zaurus.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00