kern/188534: Revision 262226 of /sys/dev/pci/pci.c causes kernel hang on an Asus CUBX board

Yuri Zaporozhets r_tty at yahoo.co.uk
Sat Apr 12 21:40:02 UTC 2014


>Number:         188534
>Category:       kern
>Synopsis:       Revision 262226 of /sys/dev/pci/pci.c causes kernel hang on an Asus CUBX board
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 12 21:40:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Yuri Zaporozhets
>Release:        FreeBSD 8.4-STABLE i386
>Organization:
>Environment:
System: FreeBSD guardian.localdomain 8.4-STABLE FreeBSD 8.4-STABLE #7 r262226M: Sat Apr 12 15:07:08 EEST 2014 yuriz at guardian.localdomain:/usr/home/yuriz/freebsd/sys/i386/compile/GUARDIAN i386


	Machine: ASUS CUBX ACPI BIOS Revision 1008 Beta 004
	PCI devices:

	hostb0 at pci0:0:0:0:	class=0x060000 card=0x80251043 chip=0x71908086 rev=0x03 hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Implemented)'
	pcib1 at pci0:0:1:0:	class=0x060400 card=0x00000000 chip=0x71918086 rev=0x03 hdr=0x01
	    vendor     = 'Intel Corporation'
	    device     = '440BX/ZX AGPset PCI-to-PCI bridge (82443BX/ZX)'
	isab0 at pci0:0:4:0:	class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = 'PIIX4/4E/4M ISBridgeA  (82371AB/EB/MB)'
	atapci0 at pci0:0:4:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = 'PIIX4/4E/4M IDE Controller (82371AB/EB/MB)'
	uhci0 at pci0:0:4:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = 'PIIX4/4E/4M USB Interface (82371AB/EB/MB)'
	none0 at pci0:0:4:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
	    vendor     = 'Intel Corporation'
	atapci1 at pci0:0:7:0:	class=0x010400 card=0x80251043 chip=0x06481095 rev=0x01 hdr=0x00
	    vendor     = 'Silicon Image Inc (Was: CMD Technology Inc)'
	    device     = 'Bus Master Ultra DMA PCI-IDE/ATA Chip (PCI-648)'
	fxp0 at pci0:0:10:0:	class=0x020000 card=0x00408086 chip=0x12298086 rev=0x0c hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
	vgapci0 at pci0:0:11:0:	class=0x030000 card=0x00000000 chip=0x56315333 rev=0x06 hdr=0x00
	    vendor     = 'S3 Graphics Co., Ltd'
	    device     = 'Virge 3D  (86C325)'
	fxp1 at pci0:0:13:0:	class=0x020000 card=0xb0d70e11 chip=0x12298086 rev=0x05 hdr=0x00
	    vendor     = 'Intel Corporation'
	    device     = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'

>Description:
	Revision 262226 of pci.c causes the kernel to hang/crash early during boot.
	The following line causes the crash (pci.c, near the line number 2743):

	flags = RF_ALIGNMENT_LOG2(mapsize);

	Setting flags to zero (as it was in the previous release) fixes the
	problem completely.

>How-To-Repeat:

	Just boot the system using r262226 or any later 8.4-STABLE kernel.
	The sign that something is wrong is visible on the screen immediately
	after boot: some text characters on the screen become overwritten by
	some apparently random symbols.
>Fix:

	Setting flags variable to zero fixes the problem (as it was in the
	previous release of this file, r262134).

	I added some debug print near the line where flags is set, namely

		flags = RF_ALIGNMENT_LOG2(mapsize);
	+device_printf(bus, "slot=0x%X, flags=0x%X\n", pci_get_slot(dev), flags);
	+flags = 0;

	and here are the values I got upon successful boot:

	pci0: slot=0x0, flags=0x6800
	pci0: slot=0x4, flags=0x1000
	pci0: slot=0x4, flags=0x1400
	pci0: slot=0x4, flags=0x1000
	pci0: slot=0x7, flags=0xC00
	pci0: slot=0x7, flags=0x800
	pci0: slot=0x7, flags=0xC00
	pci0: slot=0x7, flags=0x800
	pci0: slot=0x7, flags=0x1000
	pci0: slot=0xA, flags=0x3000
	pci0: slot=0xA, flags=0x1800
	pci0: slot=0xA, flags=0x4400
	pci0: slot=0xB, flags=0x6800
	pci0: slot=0xD, flags=0x3000
	pci0: slot=0xD, flags=0x1400
	pci0: slot=0xD, flags=0x5000
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list