Bug 911771

Summary: 8250.nr_uarts boot parameter not working in kernel 3.7.x
Product: [Fedora] Fedora Reporter: Guy Jennings <jennings>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, pizza
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-17 01:06:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Guy Jennings 2013-02-15 22:48:01 UTC
Description of problem:

Some time between kernel 3.6.7 and 3.7.3 the 8250.nr_uarts boot option
stopped working.  The boot option is needed for multi-port serial cards
to work.

Version-Release number of selected component (if applicable):

kernel-3.7.3-101.fc17.x86_64

How reproducible:

Always

Steps to Reproduce:
1. Add '8250.nr_uarts=16' to /etc/default/grub in GRUB_CMDLINE_LINUX
and run grub2-mkconfig to update boot config
2. Boot kernel 3.7.3, then type
cat /proc/cmdline to verify that boot option is present
and dmesg | grep 16550 to see serial driver header
3. Repeat step 2 with kernel 3.6.7  
  
Actual results:

[jennings@www12 ~]$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.7.3-101.fc17.x86_64 root=UUID=42d4d848-ab26-4610-98fc-241b48b8ac8e ro 8250.nr_uarts=16 quiet rhgb
[jennings@www12 ~]$ dmesg | grep 16550
[    0.955931] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[jennings@www12 ~]$ 

Expected results:

[jennings@www12 ~]$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-3.6.7-4.fc17.x86_64 root=UUID=42d4d848-ab26-4610-98fc-241b48b8ac8e ro 8250.nr_uarts=16 quiet rhgb
[jennings@www12 ~]$ dmesg | grep 16550
[    0.941811] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[jennings@www12 ~]$ 


Additional info:
This bug affects the stock kernels, though I have only tried x86_64

It is different from #212501 where the problem was caused by the 8250 driver
being built as a module - here the 8250 driver is compiled in

Comment 1 Solomon Peachy 2013-02-25 15:28:58 UTC
I'm bitten by this too:

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.7.9-101.fc17.x86_64 root=/dev
/mapper/VolGroup00-LogVol00 ro rd.md=0 rd.dm=0 rd.luks=0 8250.nr_uarts=16 KEYTAB
LE=us SYSFONT=ter-116b rhgb rd.lvm.lv=VolGroup00/LogVol01 LANG=en_US.UTF-8 rd.lv
m.lv=VolGroup00/LogVol00

[    1.912723] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.933368] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    1.954248] 0000:05:06.0: ttyS1 at I/O 0xb050 (irq = 21) is a 16550A
[    1.974865] 0000:05:06.0: ttyS2 at I/O 0xb040 (irq = 21) is a 16550A
[    1.995488] 0000:05:06.0: ttyS3 at I/O 0xb030 (irq = 21) is a 16550A
[    1.995687] Couldn't register serial port 0000:05:06.0: -28

lspci -v output:

05:06.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
        Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card)
        Flags: medium devsel, IRQ 21
        I/O ports at b050 [size=8]
        I/O ports at b040 [size=8]
        I/O ports at b030 [size=8]
        I/O ports at b020 [size=8]
        I/O ports at b010 [size=8]
        I/O ports at b000 [size=16]
        Kernel driver in use: serial

Comment 2 Josh Boyer 2013-03-07 18:06:30 UTC
OK.  I can recreate this here as well.  No idea why yet, but I'll look into it.

Comment 3 Josh Boyer 2013-03-07 21:15:22 UTC
The driver was renamed to 8250_core in 3.7.  If you specify "8250_core.nr_uarts=16" it should work (I tested that locally here).

Comment 4 Guy Jennings 2013-03-07 21:25:05 UTC
Yes, it works here as well.  Thank you

Comment 5 Josh Boyer 2013-03-11 19:00:51 UTC
I worked with upstream to see if we can keep the existing prefix for the options.  We wound up with a patch that seems to work, but it is very ugly.  Ugly enough that upstream is going to figure out a way to change back to using the 8250. prefix going forward, and deprecating the 8250_core prefix.

I've included the patch in F17/F18.  The original option names (as well as the 8250_core version) will work with the next update.

Comment 6 Solomon Peachy 2013-03-11 19:28:19 UTC
For what it's worth, I'd have been happy with simply changing the kernel docs (kernel-parameters.txt) to match reality.  This change simply wasn't documented anywhere.

Anyway, thanks for doing the legwork on this, but simply using the 8250_core prefix solved my problem!

Comment 7 Fedora Update System 2013-03-14 22:52:46 UTC
kernel-3.8.3-101.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/kernel-3.8.3-101.fc17

Comment 8 Fedora Update System 2013-03-15 02:57:06 UTC
kernel-3.8.3-201.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/kernel-3.8.3-201.fc18

Comment 9 Fedora Update System 2013-03-16 01:20:18 UTC
Package kernel-3.8.3-201.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-3.8.3-201.fc18'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-3893/kernel-3.8.3-201.fc18
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2013-03-17 01:06:35 UTC
kernel-3.8.3-201.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2013-03-22 00:11:29 UTC
kernel-3.8.3-103.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.