From patchwork Wed Jun 17 17:30:33 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: stephen hemminger X-Patchwork-Id: 28797 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@bilbo.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id 5DB53B7177 for ; Thu, 18 Jun 2009 03:34:39 +1000 (EST) Received: by ozlabs.org (Postfix) id 4F158DDDE1; Thu, 18 Jun 2009 03:34:39 +1000 (EST) Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id DBD84DDDB6 for ; Thu, 18 Jun 2009 03:34:38 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932225AbZFQReQ (ORCPT ); Wed, 17 Jun 2009 13:34:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932177AbZFQReP (ORCPT ); Wed, 17 Jun 2009 13:34:15 -0400 Received: from suva.vyatta.com ([76.74.103.44]:45317 "EHLO suva.vyatta.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758263AbZFQReE (ORCPT ); Wed, 17 Jun 2009 13:34:04 -0400 Received: from suva.vyatta.com (suva [127.0.0.1]) by suva.vyatta.com (8.13.7/8.13.7) with ESMTP id n5HHY3ZL029159; Wed, 17 Jun 2009 10:34:03 -0700 Received: (from shemminger@localhost) by suva.vyatta.com (8.13.7/8.13.7/Submit) id n5HHY3Wa029158; Wed, 17 Jun 2009 10:34:03 -0700 Message-Id: <20090617173139.582840975@vyatta.com> References: <20090617173031.703636683@vyatta.com> User-Agent: quilt/0.46-1 Date: Wed, 17 Jun 2009 10:30:33 -0700 From: Stephen Hemminger To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH 2/9] sky2: more receive shutdown Content-Disposition: inline; filename=sky2-shut1.patch Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Reset more parts of the receive path when device is take offline. Signed-off-by: Stephen Hemminger --- a/drivers/net/sky2.c 2009-06-17 10:29:50.630937431 -0700 +++ b/drivers/net/sky2.c 2009-06-17 10:29:52.005685817 -0700 @@ -1151,7 +1151,14 @@ stopped: /* reset the Rx prefetch unit */ sky2_write32(hw, Y2_QADDR(rxq, PREF_UNIT_CTRL), PREF_UNIT_RST_SET); - mmiowb(); + + /* Reset the RAM Buffer receive queue */ + sky2_write8(hw, RB_ADDR(rxq, RB_CTRL), RB_RST_SET); + + /* Reset Rx MAC FIFO */ + sky2_write8(hw, SK_REG(sky2->port, RX_GMF_CTRL_T), GMF_RST_SET); + + sky2_read8(hw, B0_CTST); } /* Clean out receive buffer area, assumes receiver hardware stopped */