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
Sun Apr 13 19:30:01 UTC 2014


The following reply was made to PR kern/188534; it has been noted by GNATS.

From: Yuri Zaporozhets <r_tty at yahoo.co.uk>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: kern/188534: Revision 262226 of /sys/dev/pci/pci.c causes kernel
 hang on an Asus CUBX board
Date: Sun, 13 Apr 2014 22:26:39 +0300

 Hello,
 
 I just noticed that replacing
 
     flags = RF_ALIGNMENT_LOG2(mapsize);
 
 with
 
     flags = rman_make_alignment_flags(mapsize);
 
 fixes the problem and the kernel boots just fine.
 
 In these two cases the values for flags are obviously very different.
 Here is a table to compare (the case for my machine):
 
 slot	bad flags (buggy)	new flags (fine)
 ------------------------------------------------
 0x0	0x6800			0x1400
 0x4	0x1000			0x800
 0x4	0x1400			0xC00
 0x4	0x1000			0x800
 0x7	0xC00 			0x800
 0x7	0x800 			0x400
 0x7	0xC00 			0x800
 0x7	0x800 			0x400
 0x7	0x1000			0x800
 0xA	0x3000			0x1000
 0xA	0x1800			0xC00
 0xA	0x4400			0x1400
 0xB	0x6800			0x1400
 0xD	0x3000			0x1000
 0xD	0x1400			0xC00
 0xD	0x5000			0x1400
 
 If this is indeed a bug and not a design feature (I cannot be 100% sure since
 I haven't read the specifications or code thoroughly), then it looks quite
 serious, and presumably it may cause the crash not only on my particular
 machine configuration.
 
 -- 
 Regards,
 Yuri


More information about the freebsd-bugs mailing list