.. | .. |
---|
1025 | 1025 | struct vsc73xx *vsc = ds->priv; |
---|
1026 | 1026 | |
---|
1027 | 1027 | return vsc73xx_write(vsc, VSC73XX_BLOCK_MAC, port, |
---|
1028 | | - VSC73XX_MAXLEN, new_mtu); |
---|
| 1028 | + VSC73XX_MAXLEN, new_mtu + ETH_HLEN + ETH_FCS_LEN); |
---|
1029 | 1029 | } |
---|
1030 | 1030 | |
---|
1031 | 1031 | /* According to application not "VSC7398 Jumbo Frames" setting |
---|
1032 | | - * up the MTU to 9.6 KB does not affect the performance on standard |
---|
| 1032 | + * up the frame size to 9.6 KB does not affect the performance on standard |
---|
1033 | 1033 | * frames. It is clear from the application note that |
---|
1034 | 1034 | * "9.6 kilobytes" == 9600 bytes. |
---|
1035 | 1035 | */ |
---|
1036 | 1036 | static int vsc73xx_get_max_mtu(struct dsa_switch *ds, int port) |
---|
1037 | 1037 | { |
---|
1038 | | - return 9600; |
---|
| 1038 | + return 9600 - ETH_HLEN - ETH_FCS_LEN; |
---|
1039 | 1039 | } |
---|
1040 | 1040 | |
---|
1041 | 1041 | static const struct dsa_switch_ops vsc73xx_ds_ops = { |
---|