Bug 911771 - 8250.nr_uarts boot parameter not working in kernel 3.7.x
Summary: 8250.nr_uarts boot parameter not working in kernel 3.7.x
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 17
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-15 22:48 UTC by Guy Jennings
Modified: 2013-03-22 00:11 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-17 01:06:33 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.