From patchwork Sat Feb 16 14:32:34 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hauke Mehrtens X-Patchwork-Id: 220961 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9AE8A2C007E for ; Sun, 17 Feb 2013 01:32:50 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753296Ab3BPOcp (ORCPT ); Sat, 16 Feb 2013 09:32:45 -0500 Received: from server19320154104.serverpool.info ([193.201.54.104]:34459 "EHLO hauke-m.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753236Ab3BPOco (ORCPT ); Sat, 16 Feb 2013 09:32:44 -0500 Received: from localhost (localhost [127.0.0.1]) by hauke-m.de (Postfix) with ESMTP id 5B7F68E1C; Sat, 16 Feb 2013 15:32:42 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at hauke-m.de Received: from hauke-m.de ([127.0.0.1]) by localhost (hauke-m.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id foo1znvN6fg0; Sat, 16 Feb 2013 15:32:38 +0100 (CET) Received: from hauke-desktop.lan (spit-414.wohnheim.uni-bremen.de [134.102.133.158]) by hauke-m.de (Postfix) with ESMTPSA id 832B985EA; Sat, 16 Feb 2013 15:32:37 +0100 (CET) From: Hauke Mehrtens To: davem@davemloft.net Cc: zajec5@gmail.com, netdev@vger.kernel.org, Hauke Mehrtens Subject: [PATCH] bgmac: fix unaligned accesses to network headers Date: Sat, 16 Feb 2013 15:32:34 +0100 Message-Id: <1361025154-11612-1-git-send-email-hauke@hauke-m.de> X-Mailer: git-send-email 1.7.10.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Without this patch I get many unaligned access warnings per packet, this patches fixes them all. This should improve performance ony some systems like mips. Signed-off-by: Hauke Mehrtens --- drivers/net/ethernet/broadcom/bgmac.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c index d341090..f9b1bc8 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c @@ -301,8 +301,9 @@ static int bgmac_dma_rx_read(struct bgmac *bgmac, struct bgmac_dma_ring *ring, bgmac_err(bgmac, "Found poisoned packet at slot %d, DMA issue!\n", ring->start); } else { - new_skb = netdev_alloc_skb(bgmac->net_dev, len); + new_skb = netdev_alloc_skb(bgmac->net_dev, len + 2); if (new_skb) { + skb_reserve(new_skb, 2); skb_put(new_skb, len); skb_copy_from_linear_data_offset(skb, BGMAC_RX_FRAME_OFFSET, new_skb->data,