From patchwork Tue Dec 4 20:17:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Gallatin X-Patchwork-Id: 203733 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 8BA782C00A5 for ; Wed, 5 Dec 2012 07:17:27 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751945Ab2LDUR0 (ORCPT ); Tue, 4 Dec 2012 15:17:26 -0500 Received: from mail-gh0-f174.google.com ([209.85.160.174]:50752 "EHLO mail-gh0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751144Ab2LDURY (ORCPT ); Tue, 4 Dec 2012 15:17:24 -0500 Received: by mail-gh0-f174.google.com with SMTP id g15so671011ghb.19 for ; Tue, 04 Dec 2012 12:17:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state; bh=RifmUU+SLxGeRnEOBt+HbIQRVzYxxWzzsdv4yUiBJ0A=; b=WYBvxCat/Lcrjjqm0ei/hYyc8Q1tUifN72ypeFq+p+MBRYxZk4beYy+5/7SasoXs5C S6z654qLquGja1RBsf+5dDYWPrj73rKDYM2z3cYPlm/IUxQr0y41SQL9/8ZWIt0h/5zn zPFr/aUkPe+Vlo1qk2foC5u6KnOjVNr4BWorFEHNRYv7vCBnYFutOAeEnxoeh5feqWkW H/4zm+jmO2Gtv0wl9mp6ZQg8FaXLkPfYyK3xiGHzNqZIXted5/dL/6UujOzbDHSOnEP+ ZJx8g8gVesV+EMKrQo9hpYVB/mxqhdUNfexCDLuhkONfg3nUOFLZZe/46DDte9PH+A5S VvJA== Received: by 10.236.118.235 with SMTP id l71mr16778647yhh.82.1354652243387; Tue, 04 Dec 2012 12:17:23 -0800 (PST) Received: from drogon.sw.myri.com (c-24-125-204-77.hsd1.va.comcast.net. [24.125.204.77]) by mx.google.com with ESMTPS id t46sm2083799yhi.3.2012.12.04.12.17.21 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 04 Dec 2012 12:17:22 -0800 (PST) From: Andrew Gallatin To: davem@davemloft.net Cc: netdev@vger.kernel.org, Andrew Gallatin Subject: [PATCH net-next] myri10ge: fix most sparse warnings Date: Tue, 4 Dec 2012 15:17:15 -0500 Message-Id: <1354652235-13174-1-git-send-email-gallatin@myri.com> X-Mailer: git-send-email 1.7.9.5 X-Gm-Message-State: ALoCoQncTDsMbi+4ort42rAVGXshUheYZtZxnFlhNzoK6MhAEDU3ucemMYsXC+SWeoXbIMETspfO Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org - convert remaining htonl/ntohl +__raw_read/__raw_writel to swab32 + readl/writel - add missing __iomem qualifier in myri10ge_open() - fix dubious: x & !y warning by switching from logical to bitwise not The swab32 conversion fixes a bug in myri10ge_led() where big-endian machines would write the wrong pattern. The only remaining warning (lock context imbalance) is due to the use of __netif_tx_trylock(), and cannot easily be fixed. Signed-off-by: Andrew Gallatin --- drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c index a40234e..f8408d6 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -1885,7 +1885,7 @@ static int myri10ge_led(struct myri10ge_priv *mgp, int on) } if (!on) pattern = swab32(readl(mgp->sram + pattern_off + 4)); - writel(htonl(pattern), mgp->sram + pattern_off); + writel(swab32(pattern), mgp->sram + pattern_off); return 0; } @@ -2294,7 +2294,7 @@ static int myri10ge_open(struct net_device *dev) struct myri10ge_priv *mgp = netdev_priv(dev); struct myri10ge_cmd cmd; int i, status, big_pow2, slice; - u8 *itable; + u8 __iomem *itable; if (mgp->running != MYRI10GE_ETH_STOPPED) return -EBUSY; @@ -2757,7 +2757,7 @@ again: flags_next |= next_is_first * MXGEFW_FLAGS_FIRST; rdma_count |= -(chop | next_is_first); - rdma_count += chop & !next_is_first; + rdma_count += chop & ~next_is_first; } else if (likely(cum_len_next >= 0)) { /* header ends */ int small; @@ -3836,9 +3836,9 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) goto abort_with_mtrr; } hdr_offset = - ntohl(__raw_readl(mgp->sram + MCP_HEADER_PTR_OFFSET)) & 0xffffc; + swab32(readl(mgp->sram + MCP_HEADER_PTR_OFFSET)) & 0xffffc; ss_offset = hdr_offset + offsetof(struct mcp_gen_header, string_specs); - mgp->sram_size = ntohl(__raw_readl(mgp->sram + ss_offset)); + mgp->sram_size = swab32(readl(mgp->sram + ss_offset)); if (mgp->sram_size > mgp->board_span || mgp->sram_size <= MYRI10GE_FW_OFFSET) { dev_err(&pdev->dev,