From: Kejian Yan <yankej...@huawei.com>

If mtu for debug port is set more than 1500, it may cause that packets
are dropped by ppe. So maximum value for debug port should be 1500.

Signed-off-by: Kejian Yan <yankej...@huawei.com>
Signed-off-by: Yisen Zhuang <yisen.zhu...@huawei.com>
---
change log:
 PATCH V2:
  - use tabs instead of spaces to indent the value

 PATCH V1:
  - first submit

  Link: https://lkml.org/lkml/2016/3/21/217
---
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 3 +++
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c 
b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
index 50237fb..a38084a 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
@@ -470,6 +470,9 @@ int hns_mac_set_mtu(struct hns_mac_cb *mac_cb, u32 new_mtu)
        u32 max_frm = AE_IS_VER1(mac_cb->dsaf_dev->dsaf_ver) ?
                        MAC_MAX_MTU : MAC_MAX_MTU_V2;
 
+       if (mac_cb->mac_type == HNAE_PORT_DEBUG)
+               max_frm = MAC_MAX_MTU_DBG;
+
        if ((new_mtu < MAC_MIN_MTU) || (new_frm > max_frm) ||
            (new_frm > HNS_RCB_RING_MAX_BD_PER_PKT * buf_size))
                return -EINVAL;
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h 
b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h
index 7b47701..823b6e7 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h
+++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.h
@@ -28,6 +28,7 @@ struct dsaf_device;
 #define MAC_MAX_MTU            9600
 #define MAC_MAX_MTU_V2         9728
 #define MAC_MIN_MTU            68
+#define MAC_MAX_MTU_DBG                MAC_DEFAULT_MTU
 
 #define MAC_DEFAULT_PAUSE_TIME 0xff
 
-- 
1.9.1

Reply via email to