aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2016-11-02 16:09:44 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2018-01-13 10:37:24 -0500
commit4adf7bf7bbaefe71133305193c25d32863115dda (patch)
tree78f53781df9ee62acb24d40ab5c25053ee67eef3
parentbebc6082da0a9f5d47a1ea2edc099bf671058bd4 (diff)
firewire: net: max MTU off by one
The latest max_mtu patch missed that datagram_size is actually one less than the datagram's Total Length. Fixes: 357f4aae859b ("firewire: net: really fix maximum possible MTU") Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/net.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index 242359c2d1f1..60e75e6d9104 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1480,9 +1480,14 @@ static int fwnet_probe(struct fw_unit *unit,
1480 goto out; 1480 goto out;
1481 dev->local_fifo = dev->handler.offset; 1481 dev->local_fifo = dev->handler.offset;
1482 1482
1483 /*
1484 * default MTU: RFC 2734 cl. 4, RFC 3146 cl. 4
1485 * maximum MTU: RFC 2734 cl. 4.2, fragment encapsulation header's
1486 * maximum possible datagram_size + 1 = 0xfff + 1
1487 */
1483 net->mtu = 1500U; 1488 net->mtu = 1500U;
1484 net->min_mtu = ETH_MIN_MTU; 1489 net->min_mtu = ETH_MIN_MTU;
1485 net->max_mtu = 0xfff; 1490 net->max_mtu = 4096U;
1486 1491
1487 /* Set our hardware address while we're at it */ 1492 /* Set our hardware address while we're at it */
1488 ha = (union fwnet_hwaddr *)net->dev_addr; 1493 ha = (union fwnet_hwaddr *)net->dev_addr;