From nobody@FreeBSD.org Sun Mar 30 06:24:24 2008 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC18B106564A for ; Sun, 30 Mar 2008 06:24:23 +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 D23E88FC19 for ; Sun, 30 Mar 2008 06:24:23 +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 m2U6Nxgo061349 for ; Sun, 30 Mar 2008 06:23:59 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m2U6NwMA061348; Sun, 30 Mar 2008 06:23:58 GMT (envelope-from nobody) Message-Id: <200803300623.m2U6NwMA061348@www.freebsd.org> Date: Sun, 30 Mar 2008 06:23:58 GMT From: Blair To: freebsd-gnats-submit@FreeBSD.org Subject: IPMI problem with BCM5704 X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 122252 >Category: kern >Synopsis: [ipmi] [bge] IPMI problem with BCM5704 (does not work after driver loaded) >Confidential: no >Severity: serious >Priority: high >Responsible: bz >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Mar 30 06:30:02 UTC 2008 >Closed-Date: Tue Nov 17 20:57:47 UTC 2009 >Last-Modified: Tue Nov 17 20:57:47 UTC 2009 >Originator: Blair >Release: 7.0 Stable >Organization: NCTU >Environment: FreeBSD sds2k.homeip.net 7.0-STABLE FreeBSD 7.0-STABLE #0: Sun Mar 23 11:51:11 CST 2008 blair@sds2k.homeip.net:/usr/obj/usr/src/sys/MYKERN amd64 >Description: My FreeBSD box comes with Tyan S2892 with SMDC M3291 for IPMI. The onboard NIC is broadcom BCM5704. The IPMI can't work after bge driver loaded. I searched all possible and patches for bge and failed. In my case, if I enable hw.bge.allow_asf->1 and the system reboot unexpectedly when system try to communicate to bge (for example, invoke DHCP to assign a new IP). >How-To-Repeat: Set hw.bge.allow_asf=1 in /boot/loader.conf and reboot. >Fix: >Release-Note: >Audit-Trail: State-Changed-From-To: open->feedback State-Changed-By: vwe State-Changed-When: Tue Apr 8 22:07:26 UTC 2008 State-Changed-Why: dear submitter: please show us your verbose boot dmesg if you experience a panic, please show us the dump if the machine does not panic but does a mystical reboot, please run a WITNESS enabled kernel and watch out for WITNESS messages please note this from bge(4): hw.bge.allow_asf Allow the ASF feature for cooperating with IPMI. Can cause sys- tem lockup problems on a small number of systems. Disabled by default. http://www.freebsd.org/cgi/query-pr.cgi?pr=122252 Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: vwe Responsible-Changed-When: Tue Apr 8 22:12:13 UTC 2008 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=122252 From: Robert Healey To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/122252: [ipmi] [bge] IPMI problem with BCM5704 (does not work after driver loaded) Date: Fri, 13 Mar 2009 11:33:41 -0400 I am having a similar issue to this bug, only I get a hard lock instead of a reboot. I have a Supermicro H8SSL-i2 board with Opteron 1000 series chip and Serverworks chipset. When I have hw.bg.allow_asf enabled, the last output I get is the kernel printing the mac address for the TAP interface I initialize for later use with OpenVPN. bge0 has the IPMI card connected to it, bge1 has 2 802.1q interfaces attached to it. Thank you for your time. Bob Healey pciconf -lv: pisces# pciconf -lv pcib1@pci0:0:1:0: class=0x060400 card=0x00000000 chip=0x00361166 rev=0x00 hdr=0x01 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'HT1000 PCI/PCI-X bridge' class = bridge subclass = PCI-PCI hostb0@pci0:0:2:0: class=0x060000 card=0x02011166 chip=0x02051166 rev=0x00 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'HT1000 Legacy South Bridge' class = bridge subclass = HOST-PCI atapci1@pci0:0:2:1: class=0x01018a card=0x02141166 chip=0x02141166 rev=0x00 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'HT1000 Legacy IDE controller' class = mass storage subclass = ATA isab0@pci0:0:2:2: class=0x060100 card=0x02301166 chip=0x02341166 rev=0x00 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'HT1000 LPC Bridge' class = bridge subclass = PCI-ISA ohci0@pci0:0:3:0: class=0x0c0310 card=0x02231166 chip=0x02231166 rev=0x01 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = '0x0223 USB controller' class = serial bus subclass = USB ohci1@pci0:0:3:1: class=0x0c0310 card=0x02231166 chip=0x02231166 rev=0x01 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = '0x0223 USB controller' class = serial bus subclass = USB ehci0@pci0:0:3:2: class=0x0c0320 card=0x02231166 chip=0x02231166 rev=0x01 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = '0x0223 USB controller' class = serial bus subclass = USB vgapci0@pci0:0:5:0: class=0x030000 card=0x515e1002 chip=0x515e1002 rev=0x02 hdr=0x00 vendor = 'ATI Technologies Inc' device = 'Radeon ES1000 Radeon ES1000' class = display subclass = VGA hostb1@pci0:0:24:0: class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices (AMD)' device = '(K8) Athlon 64/Opteron HyperTransport Technology Configuration' class = bridge subclass = HOST-PCI hostb2@pci0:0:24:1: class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices (AMD)' device = '(K8) Athlon 64/Opteron Address Map' class = bridge subclass = HOST-PCI hostb3@pci0:0:24:2: class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices (AMD)' device = '(K8) Athlon 64/Opteron DRAM Controller' class = bridge subclass = HOST-PCI hostb4@pci0:0:24:3: class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 hdr=0x00 vendor = 'Advanced Micro Devices (AMD)' device = '(K8) Athlon 64/Opteron Miscellaneous Control' class = bridge subclass = HOST-PCI pcib2@pci0:1:13:0: class=0x060400 card=0x00000000 chip=0x01041166 rev=0xb2 hdr=0x01 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'HT1000 PCI/PCI-X bridge' class = bridge subclass = PCI-PCI atapci0@pci0:1:14:0: class=0x010405 card=0x024a1166 chip=0x024a1166 rev=0x00 hdr=0x00 vendor = 'ServerWorks (Was: Reliance Computer Corp)' device = 'BCM5785 (HT1000) SATA Native SATA Mode' class = mass storage subclass = RAID bge0@pci0:2:3:0: class=0x020000 card=0x164815d9 chip=0x164814e4 rev=0x10 hdr=0x00 vendor = 'Broadcom Corporation' device = 'BCM5704 NetXtreme Dual Gigabit Adapter' class = network subclass = ethernet bge1@pci0:2:3:1: class=0x020000 card=0x164815d9 chip=0x164814e4 rev=0x10 hdr=0x00 vendor = 'Broadcom Corporation' device = 'BCM5704 NetXtreme Dual Gigabit Adapter' class = network subclass = ethernet dmesg.boot: pisces# cat /var/run/dmesg.boot Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.1-RELEASE-p3 #1: Wed Mar 4 00:37:19 EST 2009 root@pisces.phys.rpi.edu:/usr/obj/usr/src/sys/GENERIC Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Dual-Core AMD Opteron(tm) Processor 1210 (1795.51-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x40f32 Stepping = 2 Features=0x178bfbff Features2=0x2001 AMD Features=0xea500800 AMD Features2=0x1f Cores per package: 2 usable memory = 1060282368 (1011 MB) avail memory = 1021526016 (974 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 MADT: Forcing active-low polarity and level trigger for SCI ioapic0 irqs 0-15 on motherboard ioapic1 irqs 16-31 on motherboard ioapic2 irqs 32-47 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) acpi0: on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: Sleep Button (fixed) acpi0: reservation of 540, 20 (4) failed acpi0: reservation of 500, 20 (4) failed acpi0: reservation of 560, 20 (4) failed acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 3ff00000 (3) failed Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x508-0x50b on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pcib2: at device 13.0 on pci1 pci2: on pcib2 bge0: mem 0xff490000-0xff49ffff irq 24 at device 3.0 on pci2 miibus0: on bge0 brgphy0: PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge0: Ethernet address: 00:30:48:5e:6e:06 bge0: [ITHREAD] bge1: mem 0xff480000-0xff48ffff irq 25 at device 3.1 on pci2 miibus1: on bge1 brgphy1: PHY 1 on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge1: Ethernet address: 00:30:48:5e:6e:07 bge1: [ITHREAD] atapci0: port 0xbc00-0xbc07,0xb880-0xb883,0xb800-0xb807,0xb480-0xb483,0xb400-0xb41f mem 0xff5fe000-0xff5fffff irq 11 at device 14.0 on pci1 atapci0: [ITHREAD] ata2: on atapci0 ata2: [ITHREAD] ata3: on atapci0 ata3: [ITHREAD] ata4: on atapci0 ata4: [ITHREAD] ata5: on atapci0 ata5: [ITHREAD] atapci1: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 2.1 on pci0 ata0: on atapci1 ata0: [ITHREAD] ata1: on atapci1 ata1: [ITHREAD] isab0: at device 2.2 on pci0 isa0: on isab0 ohci0: port 0xe800-0xe8ff mem 0xff6eb000-0xff6ebfff irq 10 at device 3.0 on pci0 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: <(0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 2 ports with 2 removable, self powered ohci1: port 0xd800-0xd8ff mem 0xff6ea000-0xff6eafff irq 10 at device 3.1 on pci0 ohci1: [GIANT-LOCKED] ohci1: [ITHREAD] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: on ohci1 usb1: USB revision 1.0 uhub1: <(0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1 uhub1: 2 ports with 2 removable, self powered ehci0: port 0xd400-0xd4ff mem 0xff6e9000-0xff6e9fff irq 10 at device 3.2 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb2: EHCI version 1.0 usb2: companion controllers, 2 ports each: usb0 usb1 usb2: on ehci0 usb2: USB revision 2.0 uhub2: <(0x1166) EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb2 uhub2: 4 ports with 4 removable, self powered vgapci0: port 0xe000-0xe0ff mem 0xf0000000-0xf7ffffff,0xff6f0000-0xff6fffff irq 19 at device 5.0 on pci0 k8temp0: on hostb4 acpi_button0: on acpi0 acpi_button1: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0 fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio0: [FILTER] sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A sio1: [FILTER] cpu0: on acpi0 powernow0: on cpu0 cpu1: on acpi0 powernow1: on cpu1 orm0: at iomem 0xc0000-0xcafff,0xcb000-0xcdfff on isa0 ppc0: cannot reserve I/O port range sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounters tick every 1.000 msec acd0: CDROM at ata0-master UDMA33 ad4: 238475MB at ata2-master SATA150 SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad4s1a WARNING: / was not properly dismounted tap0: Ethernet address: 00:bd:6e:ad:02:00 bge1: link state changed to UP vlan0: link state changed to UP vlan1: link state changed to UP bge0: link state changed to UP Limiting icmp unreach response from 228 to 200 packets/sec -- Bob Healey Systems Administrator Physics Department, RPI healer@rpi.edu Responsible-Changed-From-To: freebsd-net->bz Responsible-Changed-By: bz Responsible-Changed-When: Mon Oct 12 21:57:02 UTC 2009 Responsible-Changed-Why: Take for the moment. http://www.freebsd.org/cgi/query-pr.cgi?pr=122252 From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/122252: commit references a PR Date: Tue, 13 Oct 2009 20:22:27 +0000 (UTC) Author: bz Date: Tue Oct 13 20:22:12 2009 New Revision: 198049 URL: http://svn.freebsd.org/changeset/base/198049 Log: Immediately after clearing a pending callout that didn't make it due to the lock we hold, disable interrupts, and announce to the firmware that we are shutting down. Especially do this before disabling blocks. This makes some types of machines with asf enabled no longer hang upon boot, when we start configuring the interface. PR: i386/96382, kern/100410, kern/122252, kern/116328 Reported by: erwin Hardware provided by: TDC A/S Reviewed by: stas Tested by: stas Modified: head/sys/dev/bge/if_bge.c Modified: head/sys/dev/bge/if_bge.c ============================================================================== --- head/sys/dev/bge/if_bge.c Tue Oct 13 20:21:17 2009 (r198048) +++ head/sys/dev/bge/if_bge.c Tue Oct 13 20:22:12 2009 (r198049) @@ -4270,6 +4270,16 @@ bge_stop(struct bge_softc *sc) callout_stop(&sc->bge_stat_ch); + /* Disable host interrupts. */ + BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); + bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); + + /* + * Tell firmware we're shutting down. + */ + bge_stop_fw(sc); + bge_sig_pre_reset(sc, BGE_RESET_STOP); + /* * Disable all of the receiver blocks. */ @@ -4309,16 +4319,6 @@ bge_stop(struct bge_softc *sc) BGE_CLRBIT(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); } - /* Disable host interrupts. */ - BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); - bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); - - /* - * Tell firmware we're shutting down. - */ - - bge_stop_fw(sc); - bge_sig_pre_reset(sc, BGE_RESET_STOP); bge_reset(sc); bge_sig_legacy(sc, BGE_RESET_STOP); bge_sig_post_reset(sc, BGE_RESET_STOP); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/122252: commit references a PR Date: Tue, 17 Nov 2009 14:30:25 +0000 (UTC) Author: bz Date: Tue Nov 17 14:30:09 2009 New Revision: 199381 URL: http://svn.freebsd.org/changeset/base/199381 Log: MFC r198049: Immediately after clearing a pending callout that didn't make it due to the lock we hold, disable interrupts, and announce to the firmware that we are shutting down. Especially do this before disabling blocks. This makes some types of machines with asf enabled no longer hang upon boot, when we start configuring the interface. PR: i386/96382, kern/100410, kern/122252, kern/116328 Modified: stable/8/sys/dev/bge/if_bge.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/dev/bge/if_bge.c ============================================================================== --- stable/8/sys/dev/bge/if_bge.c Tue Nov 17 14:23:09 2009 (r199380) +++ stable/8/sys/dev/bge/if_bge.c Tue Nov 17 14:30:09 2009 (r199381) @@ -4218,6 +4218,16 @@ bge_stop(struct bge_softc *sc) callout_stop(&sc->bge_stat_ch); + /* Disable host interrupts. */ + BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); + bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); + + /* + * Tell firmware we're shutting down. + */ + bge_stop_fw(sc); + bge_sig_pre_reset(sc, BGE_RESET_STOP); + /* * Disable all of the receiver blocks. */ @@ -4257,16 +4267,6 @@ bge_stop(struct bge_softc *sc) BGE_CLRBIT(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); } - /* Disable host interrupts. */ - BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); - bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); - - /* - * Tell firmware we're shutting down. - */ - - bge_stop_fw(sc); - bge_sig_pre_reset(sc, BGE_RESET_STOP); bge_reset(sc); bge_sig_legacy(sc, BGE_RESET_STOP); bge_sig_post_reset(sc, BGE_RESET_STOP); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/122252: commit references a PR Date: Tue, 17 Nov 2009 20:48:53 +0000 (UTC) Author: bz Date: Tue Nov 17 20:48:32 2009 New Revision: 199433 URL: http://svn.freebsd.org/changeset/base/199433 Log: MFC r198049: Immediately after clearing a pending callout that didn't make it due to the lock we hold, disable interrupts, and announce to the firmware that we are shutting down. Especially do this before disabling blocks. This makes some types of machines with asf enabled no longer hang upon boot, when we start configuring the interface. PR: i386/96382, kern/100410, kern/122252, kern/116328 Modified: stable/7/sys/dev/bge/if_bge.c Directory Properties: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/bge/if_bge.c ============================================================================== --- stable/7/sys/dev/bge/if_bge.c Tue Nov 17 20:45:49 2009 (r199432) +++ stable/7/sys/dev/bge/if_bge.c Tue Nov 17 20:48:32 2009 (r199433) @@ -4213,6 +4213,16 @@ bge_stop(struct bge_softc *sc) callout_stop(&sc->bge_stat_ch); + /* Disable host interrupts. */ + BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); + bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); + + /* + * Tell firmware we're shutting down. + */ + bge_stop_fw(sc); + bge_sig_pre_reset(sc, BGE_RESET_STOP); + /* * Disable all of the receiver blocks. */ @@ -4252,16 +4262,6 @@ bge_stop(struct bge_softc *sc) BGE_CLRBIT(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); } - /* Disable host interrupts. */ - BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); - bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); - - /* - * Tell firmware we're shutting down. - */ - - bge_stop_fw(sc); - bge_sig_pre_reset(sc, BGE_RESET_STOP); bge_reset(sc); bge_sig_legacy(sc, BGE_RESET_STOP); bge_sig_post_reset(sc, BGE_RESET_STOP); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/122252: commit references a PR Date: Tue, 17 Nov 2009 20:49:31 +0000 (UTC) Author: bz Date: Tue Nov 17 20:49:09 2009 New Revision: 199434 URL: http://svn.freebsd.org/changeset/base/199434 Log: MFC r198049: Immediately after clearing a pending callout that didn't make it due to the lock we hold, disable interrupts, and announce to the firmware that we are shutting down. Especially do this before disabling blocks. This makes some types of machines with asf enabled no longer hang upon boot, when we start configuring the interface. PR: i386/96382, kern/100410, kern/122252, kern/116328 Modified: stable/6/sys/dev/bge/if_bge.c Directory Properties: stable/6/sys/ (props changed) stable/6/sys/conf/ (props changed) stable/6/sys/contrib/pf/ (props changed) stable/6/sys/dev/cxgb/ (props changed) Modified: stable/6/sys/dev/bge/if_bge.c ============================================================================== --- stable/6/sys/dev/bge/if_bge.c Tue Nov 17 20:48:32 2009 (r199433) +++ stable/6/sys/dev/bge/if_bge.c Tue Nov 17 20:49:09 2009 (r199434) @@ -4146,6 +4146,16 @@ bge_stop(struct bge_softc *sc) callout_stop(&sc->bge_stat_ch); + /* Disable host interrupts. */ + BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); + bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); + + /* + * Tell firmware we're shutting down. + */ + bge_stop_fw(sc); + bge_sig_pre_reset(sc, BGE_RESET_STOP); + /* * Disable all of the receiver blocks. */ @@ -4185,16 +4195,6 @@ bge_stop(struct bge_softc *sc) BGE_CLRBIT(sc, BGE_MARB_MODE, BGE_MARBMODE_ENABLE); } - /* Disable host interrupts. */ - BGE_SETBIT(sc, BGE_PCI_MISC_CTL, BGE_PCIMISCCTL_MASK_PCI_INTR); - bge_writembx(sc, BGE_MBX_IRQ0_LO, 1); - - /* - * Tell firmware we're shutting down. - */ - - bge_stop_fw(sc); - bge_sig_pre_reset(sc, BGE_RESET_STOP); bge_reset(sc); bge_sig_legacy(sc, BGE_RESET_STOP); bge_sig_post_reset(sc, BGE_RESET_STOP); _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" State-Changed-From-To: feedback->closed State-Changed-By: bz State-Changed-When: Tue Nov 17 20:56:42 UTC 2009 State-Changed-Why: There have been a few driver updates since this report. The latest commit seems to eliminate boot hangup problems with iLo/IPMI. Thanks a lot for reporting; please feel free to re-open should the problems still exist after an update to a latest supported branch. http://www.freebsd.org/cgi/query-pr.cgi?pr=122252 >Unformatted: