[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOMZO5ADSSUkTwi3WDHHGX-i-Jm+YbrVzES0BDtGsR1kFTxO+Q@mail.gmail.com>
Date: Fri, 21 Oct 2016 08:55:36 -0200
From: Fabio Estevam <festevam@...il.com>
To: Henri Roosen <henri.roosen@...zinger.com>
Cc: Eric Nelson <eric@...int.com>, Fugang Duan <fugang.duan@....com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: commit-3ac72b7b63d5 breaks networking on iMX28
Hi Henri,
2016-10-21 7:19 GMT-02:00 Henri Roosen <henri.roosen@...zinger.com>:
> Hi,
>
> Unfortunately commit-3ac72b7b63d5 "net: fec: align IP header in
> hardware" breaks networking on an iMX28 system.
>
> The commit seems valid for iMX6, where it is tested okay and solves the
> unaligned accesses.
>
> On iMX28 I still see unaligned accesses and networking is broken. Can
> anyone confirm this?
Does this fix the problem?
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_main.c
index 4ce8179..d1cefe1 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1430,14 +1430,15 @@ fec_enet_rx_queue(struct net_device *ndev, int
budget, u16 queue_id)
skb_put(skb, pkt_len - 4);
data = skb->data;
+ if (!is_copybreak && need_swap)
+ swap_buffer(data, pkt_len);
+
+
#if !defined(CONFIG_M5272)
if (fep->quirks & FEC_QUIRK_HAS_RACC)
data = skb_pull_inline(skb, 2);
#endif
- if (!is_copybreak && need_swap)
- swap_buffer(data, pkt_len);
-
/* Extract the enhanced buffer descriptor */
ebdp = NULL;
if (fep->bufdesc_ex)
Powered by blists - more mailing lists