Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1638126 > unrolled thread

[PATCH] net: qca_spi: Fix alignment issues in rx path

Started byStefan Wahren <stefan.wahren@i2se.com>
First post2017-05-09 15:50 +0200
Last post2017-05-11 18:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] net: qca_spi: Fix alignment issues in rx path Stefan Wahren <stefan.wahren@i2se.com> - 2017-05-09 15:50 +0200
    Re: [PATCH] net: qca_spi: Fix alignment issues in rx path David Miller <davem@davemloft.net> - 2017-05-11 18:20 +0200

#1638126 — [PATCH] net: qca_spi: Fix alignment issues in rx path

FromStefan Wahren <stefan.wahren@i2se.com>
Date2017-05-09 15:50 +0200
Subject[PATCH] net: qca_spi: Fix alignment issues in rx path
Message-ID<tFdGx-2mx-7@gated-at.bofh.it>
The qca_spi driver causes alignment issues on ARM devices.
So fix this by using netdev_alloc_skb_ip_align().

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")
---
 drivers/net/ethernet/qualcomm/qca_spi.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 513e6c7..24ca7df 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -296,8 +296,9 @@ qcaspi_receive(struct qcaspi *qca)
 
 	/* Allocate rx SKB if we don't have one available. */
 	if (!qca->rx_skb) {
-		qca->rx_skb = netdev_alloc_skb(net_dev,
-					       net_dev->mtu + VLAN_ETH_HLEN);
+		qca->rx_skb = netdev_alloc_skb_ip_align(net_dev,
+							net_dev->mtu +
+							VLAN_ETH_HLEN);
 		if (!qca->rx_skb) {
 			netdev_dbg(net_dev, "out of RX resources\n");
 			qca->stats.out_of_mem++;
@@ -377,7 +378,7 @@ qcaspi_receive(struct qcaspi *qca)
 					qca->rx_skb, qca->rx_skb->dev);
 				qca->rx_skb->ip_summed = CHECKSUM_UNNECESSARY;
 				netif_rx_ni(qca->rx_skb);
-				qca->rx_skb = netdev_alloc_skb(net_dev,
+				qca->rx_skb = netdev_alloc_skb_ip_align(net_dev,
 					net_dev->mtu + VLAN_ETH_HLEN);
 				if (!qca->rx_skb) {
 					netdev_dbg(net_dev, "out of RX resources\n");
@@ -759,7 +760,8 @@ qcaspi_netdev_init(struct net_device *dev)
 	if (!qca->rx_buffer)
 		return -ENOBUFS;
 
-	qca->rx_skb = netdev_alloc_skb(dev, qca->net_dev->mtu + VLAN_ETH_HLEN);
+	qca->rx_skb = netdev_alloc_skb_ip_align(dev, qca->net_dev->mtu +
+						VLAN_ETH_HLEN);
 	if (!qca->rx_skb) {
 		kfree(qca->rx_buffer);
 		netdev_info(qca->net_dev, "Failed to allocate RX sk_buff.\n");
-- 
2.1.4

[toc] | [next] | [standalone]


#1639860

FromDavid Miller <davem@davemloft.net>
Date2017-05-11 18:20 +0200
Message-ID<tFYYO-ax-25@gated-at.bofh.it>
In reply to#1638126
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Tue,  9 May 2017 15:40:38 +0200

> The qca_spi driver causes alignment issues on ARM devices.
> So fix this by using netdev_alloc_skb_ip_align().
> 
> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
> Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA7000")

Applied.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web