diff options
author | Ondrej Zary <linux@rainbow-software.org> | 2010-09-11 01:40:16 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-13 23:02:53 -0400 |
commit | 441993da47777d961300c070fe1210600af48ad8 (patch) | |
tree | ac2722e8764426c9275f239db6f5492ce8705620 | |
parent | 7dbfdc2390afc4e244817ab26d5a1b987b0c0669 (diff) |
cx82310_eth: allow empty URBs
Empty received URBs are currently counted as errors but the device sends them
sometimes as part of regular traffic - so remove this check.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/usb/cx82310_eth.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/usb/cx82310_eth.c b/drivers/net/usb/cx82310_eth.c index 4d451789ea7c..8969f124c18c 100644 --- a/drivers/net/usb/cx82310_eth.c +++ b/drivers/net/usb/cx82310_eth.c | |||
@@ -150,11 +150,11 @@ static int cx82310_bind(struct usbnet *dev, struct usb_interface *intf) | |||
150 | 150 | ||
151 | /* | 151 | /* |
152 | * this must not include ethernet header as the device can send partial | 152 | * this must not include ethernet header as the device can send partial |
153 | * packets with no header (URB is at least 2 bytes long, so 2 is OK) | 153 | * packets with no header (and sometimes even empty URBs) |
154 | */ | 154 | */ |
155 | dev->net->hard_header_len = 2; | 155 | dev->net->hard_header_len = 0; |
156 | /* we can send at most 1514 bytes of data (+ 2-byte header) per URB */ | 156 | /* we can send at most 1514 bytes of data (+ 2-byte header) per URB */ |
157 | dev->hard_mtu = CX82310_MTU + dev->net->hard_header_len; | 157 | dev->hard_mtu = CX82310_MTU + 2; |
158 | /* we can receive URBs up to 4KB from the device */ | 158 | /* we can receive URBs up to 4KB from the device */ |
159 | dev->rx_urb_size = 4096; | 159 | dev->rx_urb_size = 4096; |
160 | 160 | ||
@@ -228,12 +228,6 @@ static int cx82310_rx_fixup(struct usbnet *dev, struct sk_buff *skb) | |||
228 | return 1; | 228 | return 1; |
229 | } | 229 | } |
230 | 230 | ||
231 | if (skb->len < 2) { | ||
232 | dev_err(&dev->udev->dev, "RX frame too short: %d B\n", | ||
233 | skb->len); | ||
234 | return 0; | ||
235 | } | ||
236 | |||
237 | /* a skb can contain multiple packets */ | 231 | /* a skb can contain multiple packets */ |
238 | while (skb->len > 1) { | 232 | while (skb->len > 1) { |
239 | /* first two bytes are packet length */ | 233 | /* first two bytes are packet length */ |