| .. | .. |
|---|
| 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 = { |
|---|