Received: with ECARTIS (v1.0.0; list netdev); Tue, 03 May 2005 23:09:54 -0700 (PDT) Received: from MMS1.broadcom.com (mms1.broadcom.com [216.31.210.17]) by oss.sgi.com (8.12.10/8.12.10/SuSE Linux 0.7) with ESMTP id j4469p7J002579 for ; Tue, 3 May 2005 23:09:51 -0700 Received: from 10.10.64.121 by MMS1.broadcom.com with SMTP (Broadcom SMTP Relay (Email Firewall v6.1.0)); Tue, 03 May 2005 23:09:52 -0700 X-Server-Uuid: 146C3151-C1DE-4F71-9D02-C3BE503878DD Received: from mail-irva-8.broadcom.com ([10.10.64.221]) by mail-irva-1.broadcom.com (Post.Office MTA v3.5.3 release 223 ID# 0-72233U7200L2200S0V35) with ESMTP id com; Tue, 3 May 2005 23:09:24 -0700 Received: from mon-irva-10.broadcom.com (mon-irva-10.broadcom.com [10.10.64.171]) by mail-irva-8.broadcom.com (MOS 3.5.6-GR) with ESMTP id AWH22068; Tue, 3 May 2005 23:09:16 -0700 (PDT) Received: from nt-irva-0741.brcm.ad.broadcom.com ( nt-irva-0741.brcm.ad.broadcom.com [10.8.194.54]) by mon-irva-10.broadcom.com (8.9.1/8.9.1) with ESMTP id XAA06944; Tue, 3 May 2005 23:09:16 -0700 (PDT) X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: Mystery packet killing tg3 Date: Tue, 3 May 2005 23:09:15 -0700 Message-ID: Thread-Topic: Mystery packet killing tg3 Thread-Index: AcVQNIybHxh2ztwcRo6XfD92dZE2OQANmgSg From: "Michael Chan" To: "David S. Miller" cc: shemminger@osdl.org, jgarzik@pobox.com, netdev@oss.sgi.com X-WSS-ID: 6E66B8A51MW1780003-01-01 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by oss.sgi.com id j4469p7J002579 X-archive-position: 680 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: mchan@broadcom.com Precedence: bulk X-list: netdev David S. Miller wrote: > I can't think of what else could be wedging the tg3. > Michael, any ideas? There are some 5703 specific programming > to consider: > The 5703 related settings in tg3 seem ok to me too. If Stephen says the stop_block error happens during normal ifdown and traffic was otherwise working fine before ifdown, then I think it may not even be a problem at all. Stopping the various state machines can be tricky and I'm not at all surprised that some state machines can fail to stop in some cases. They are all interconnected and even if you follow the stopping sequence in the programmer's reference manual, you may still end up with a situation where one state machine is waiting for another that has been stopped already. This is not a problem as tg3_stop_block() calls are always followed by a global chip reset that will clean up the whole chip. The purpose of tg3_stop_block() is to quiesce the chip and complete all DMA transactions before abruptly resetting the chip. If the DMA blocks would not stop, then it would be a bigger problem. Other tg3_stop_block() errors that I've seen, such as the ones reported by John Linville, were preceded by netdev watchdog timeouts. These netdev watchdog timeouts were real problems that needed to be solved.