From patchwork Wed Nov 16 23:42:56 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: stephen hemminger X-Patchwork-Id: 126063 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 76DFEB71C1 for ; Thu, 17 Nov 2011 10:53:05 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754626Ab1KPXwd (ORCPT ); Wed, 16 Nov 2011 18:52:33 -0500 Received: from sfca-50.vyatta.com ([76.74.103.50]:48424 "EHLO fiji.vyatta.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1753862Ab1KPXwd (ORCPT ); Wed, 16 Nov 2011 18:52:33 -0500 X-Greylist: delayed 363 seconds by postgrey-1.27 at vger.kernel.org; Wed, 16 Nov 2011 18:52:33 EST Received: by fiji.vyatta.com (Postfix, from userid 1051) id F2D621540D8; Wed, 16 Nov 2011 15:40:53 -0800 (PST) Message-Id: <20111116234344.621810647@vyatta.com> User-Agent: quilt/0.48-1 Date: Wed, 16 Nov 2011 15:42:56 -0800 From: Stephen Hemminger To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH 2/6] sky2: pci posting issues References: <20111116234254.319625694@vyatta.com> Content-Disposition: inline; filename=sky2-pci-posting-wol.patch Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org A couple of the reset and setup paths have possible PCI posting issues. When setting registers, a read is necessary to force the writes to complete. Signed-off-by: Stephen Hemminger --- This needs to be applied to net-next and -net -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- a/drivers/net/ethernet/marvell/sky2.c 2011-11-16 15:19:32.898508932 -0800 +++ b/drivers/net/ethernet/marvell/sky2.c 2011-11-16 15:19:38.282631277 -0800 @@ -869,6 +869,7 @@ static void sky2_wol_init(struct sky2_po /* block receiver */ sky2_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_SET); + sky2_read32(hw, B0_CTST); } static void sky2_set_tx_stfwd(struct sky2_hw *hw, unsigned port) @@ -2045,6 +2046,8 @@ static void sky2_tx_reset(struct sky2_hw sky2_write32(hw, RB_ADDR(txqaddr[port], RB_CTRL), RB_RST_SET); sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); + + sky2_read32(hw, B0_CTST); } static void sky2_hw_down(struct sky2_port *sky2)