Re: [U-Boot] [PATCH 2/4] net: designware: Pad small packets
On Sat, Oct 14, 2017 at 8:00 PM, Florian Fainelli wrote: > Make sure that we pad small packets to a minimum length of 60 bytes > (without FCS). This is necessary to interface with Ethernet switches > that will reject RUNT frames unless padded correctly. > > Signed-off-by: Florian Fainelli > --- > drivers/net/designware.c | 4 > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/designware.c b/drivers/net/designware.c > index 036d231071ca..10356a9abd0e 100644 > --- a/drivers/net/designware.c > +++ b/drivers/net/designware.c > @@ -343,6 +343,8 @@ int designware_eth_enable(struct dw_eth_dev *priv) > return 0; > } > > +#define ETH_ZLEN 60 > + > static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) > { > struct eth_dma_regs *dma_p = priv->dma_regs_p; > @@ -369,6 +371,8 @@ static int _dw_eth_send(struct dw_eth_dev *priv, void > *packet, int length) > return -EPERM; > } > > + length = (length < ETH_ZLEN) ? ETH_ZLEN : length; Why not use max() from include/linux/kernel.h here? > + > memcpy((void *)data_start, packet, length); > > /* Flush data to be sent */ > -- > 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 2/4] net: designware: Pad small packets
On 15.10.2017 03:00, Florian Fainelli wrote: Make sure that we pad small packets to a minimum length of 60 bytes (without FCS). This is necessary to interface with Ethernet switches that will reject RUNT frames unless padded correctly. Signed-off-by: Florian Fainelli Reviewed-by: Stefan Roese Thanks, Stefan ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/4] net: designware: Pad small packets
Make sure that we pad small packets to a minimum length of 60 bytes (without FCS). This is necessary to interface with Ethernet switches that will reject RUNT frames unless padded correctly. Signed-off-by: Florian Fainelli --- drivers/net/designware.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 036d231071ca..10356a9abd0e 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -343,6 +343,8 @@ int designware_eth_enable(struct dw_eth_dev *priv) return 0; } +#define ETH_ZLEN 60 + static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) { struct eth_dma_regs *dma_p = priv->dma_regs_p; @@ -369,6 +371,8 @@ static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) return -EPERM; } + length = (length < ETH_ZLEN) ? ETH_ZLEN : length; + memcpy((void *)data_start, packet, length); /* Flush data to be sent */ -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 2/4] net: designware: Pad small packets
Make sure that we pad small packets to a minimum length of 60 bytes (without FCS). This is necessary to interface with Ethernet switches that will reject RUNT frames unless padded correctly. Signed-off-by: Florian Fainelli --- drivers/net/designware.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 036d231071ca..10356a9abd0e 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -343,6 +343,8 @@ int designware_eth_enable(struct dw_eth_dev *priv) return 0; } +#define ETH_ZLEN 60 + static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) { struct eth_dma_regs *dma_p = priv->dma_regs_p; @@ -369,6 +371,8 @@ static int _dw_eth_send(struct dw_eth_dev *priv, void *packet, int length) return -EPERM; } + length = (length < ETH_ZLEN) ? ETH_ZLEN : length; + memcpy((void *)data_start, packet, length); /* Flush data to be sent */ -- 2.11.0 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot