s390/qeth: clean up initial MTU determination
authorJulian Wiedmann <jwi@linux.vnet.ibm.com>
Wed, 18 Oct 2017 15:40:18 +0000 (17:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Oct 2017 12:11:04 +0000 (13:11 +0100)
1. Drop the support for Token Ring,
2. use the ETH_DATA_LEN macro for the default L2 MTU,
3. handle OSM via the default case (as OSM is L2-only), and
4. document why the L3 MTU is reduced.

Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c

index 735b03cae727ce2dd880e34bea1fdef566f35d00..acf16fa75c63f38121a5d8af33803a58b5c2a75b 100644 (file)
@@ -2219,18 +2219,12 @@ static int qeth_get_initial_mtu_for_card(struct qeth_card *card)
        case QETH_CARD_TYPE_IQD:
                return card->info.max_mtu;
        case QETH_CARD_TYPE_OSD:
-               switch (card->info.link_type) {
-               case QETH_LINK_TYPE_HSTR:
-               case QETH_LINK_TYPE_LANE_TR:
-                       return 2000;
-               default:
-                       return card->options.layer2 ? 1500 : 1492;
-               }
-       case QETH_CARD_TYPE_OSM:
        case QETH_CARD_TYPE_OSX:
-               return card->options.layer2 ? 1500 : 1492;
+               if (!card->options.layer2)
+                       return ETH_DATA_LEN - 8; /* L3: allow for LLC + SNAP */
+               /* fall through */
        default:
-               return 1500;
+               return ETH_DATA_LEN;
        }
 }