From nobody@FreeBSD.org  Thu May 15 06:36:12 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8B2AC1065680
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 May 2008 06:36:12 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 7BA2A8FC1C
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 May 2008 06:36:12 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m4F6Z2AA051347
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 May 2008 06:35:02 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m4F6Z29T051346;
	Thu, 15 May 2008 06:35:02 GMT
	(envelope-from nobody)
Message-Id: <200805150635.m4F6Z29T051346@www.freebsd.org>
Date: Thu, 15 May 2008 06:35:02 GMT
From: David Yeske <dyeske@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: if_bce firmware timeout on new bce chipsets
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         123696
>Category:       kern
>Synopsis:       [bce] [patch] if_bce firmware timeout on new bce chipsets
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    delphij
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 15 06:40:01 UTC 2008
>Closed-Date:    Mon Apr 06 04:51:07 UTC 2009
>Last-Modified:  Mon Apr 06 04:51:07 UTC 2009
>Originator:     David Yeske
>Release:        HEAD
>Organization:
>Environment:
FreeBSD shuttle 8.0-CURRENT FreeBSD 8.0-CURRENT #49: Wed May 14 00:20:51 EDT 2008     root@shuttle:/usr/obj/usr/src/sys/SHUTTLE  i386

>Description:
Newer broadcom chipsets appear to timeout while loading the firmware.  This sometimes occurs after a machine is rebooted.  It appears to occur fairly often on Dell MLK 1950 and 2950 hardware.  Here is an example of an effected chipset.  I have not seen the firmware fail to load after changing number of times the firmware is polled from 100 to 1000.  This change was also tested on the bce driver in FreeBSD 6.2.

bce1: <Broadcom NetXtreme II BCM5708 1000Base-T (B2), v0.9.6> mem 0xf8000000-0xf9ffffff irq 16 at device 0.0 on pci3
bce1: ASIC ID 0x57081020; Revision (B2); PCI-X 64-bit 133MHz
miibus1: <MII bus> on bce1
bce1: Ethernet address: 00:1d:09:27:d3:e5
bce1: bootcode rev = 0x03050C05

>How-To-Repeat:
reboot a machine a couple of times until the firmware fails to load
>Fix:
see attachment

Patch attached with submission follows:

Index: if_bcereg.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/bce/if_bcereg.h,v
retrieving revision 1.18
diff -u -r1.18 if_bcereg.h
--- if_bcereg.h	11 Apr 2008 23:10:40 -0000	1.18
+++ if_bcereg.h	15 May 2008 04:48:03 -0000
@@ -466,7 +466,7 @@
  * running and there won't be any firmware-driver synchronization during a
  * driver reset. 
  */
-#define FW_ACK_TIME_OUT_MS                  100
+#define FW_ACK_TIME_OUT_MS                  1000
 
 
 #define BCE_DRV_RESET_SIGNATURE				0x00000000


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->davidch 
Responsible-Changed-By: delphij 
Responsible-Changed-When: Thu May 15 06:47:27 UTC 2008 
Responsible-Changed-Why:  
Over to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=123696 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/123696: commit references a PR
Date: Tue, 10 Jun 2008 02:19:27 +0000 (UTC)

 davidch     2008-06-10 02:19:11 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/bce          if_bce.c if_bcereg.h 
   Log:
   SVN rev 179695 on 2008-06-10 02:19:11Z by davidch
   
   - Fixed kern/123696 by increasing firmware timeout value from 100 to 1000.
   - Fixed a problem on i386 architecture when using split header/jumbo frame
     firmware caused by hardware alignment requirements.
   - Added #define BCE_USE_SPLIT_HEADER to allow the feature to be enabled/
     disabled.  Enabled by default.
   
   PR:             kern/123696
   MFC after:      2 weeks
   
   Revision  Changes    Path
   1.41      +185 -49   src/sys/dev/bce/if_bce.c
   1.19      +8 -5      src/sys/dev/bce/if_bcereg.h
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: Borja Marcos <BORJAMAR@SARENET.ES>
To: bug-followup@FreeBSD.org,
 dyeske@gmail.com
Cc:  
Subject: Re: kern/123696: [bce] [patch] if_bce firmware timeout on new bce chipsets
Date: Fri, 27 Mar 2009 13:09:47 +0100

 Looking at the history of the bce driver, I see that revision 1.16.2.1  
 fixed a number of bugs, including this one.
 
 1.16.2.1.2.2, which made its way to RELENG_7_1_0_RELEASE rolled back  
 *all* the fixes, including
 the simple fix for this bug (r179695).
 
 Installing 7.1-RELEASE on a current Dell PowerEdge 2950 has just made  
 this error to happen, so this bug is still present in FreeBSD 7.1.
 
 
 
 Borja.
 
State-Changed-From-To: open->closed 
State-Changed-By: delphij 
State-Changed-When: Mon Apr 6 04:50:25 UTC 2009 
State-Changed-Why:  
David has committed a fix against -HEAD and this has been MFC'ed 
to 7-STABLE. 


Responsible-Changed-From-To: davidch->delphij 
Responsible-Changed-By: delphij 
Responsible-Changed-When: Mon Apr 6 04:50:25 UTC 2009 
Responsible-Changed-Why:  
Get feedback (if any). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=123696 
>Unformatted:
