kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #157291
[Bug 1536813] [NEW] Change in kernel config between 4.4-rc7 and 4.4-rc8 breaks PC parallel port DMA
Public bug reported:
When testing mainline kernels from http://kernel.ubuntu.com/~kernel-
ppa/mainline/ I noticed a problem which first appears with the 4.4-rc8
kernel package.
I opened a bug on the kernel bugzilla a few days ago, see https://bugzilla.kernel.org/show_bug.cgi?id=110931
See that for details about the issue.
But I think the actual cause is a change in the Ubuntu kernel config.
CONFIG_ZONE_DMA not being set breaks PC parallel port DMA.
$ diff config-4.4.0-040400rc7-generic config-4.4.0-040400rc8-generic
...
393c393
< CONFIG_ZONE_DMA=y
---
> # CONFIG_ZONE_DMA is not set
517,518c517
< CONFIG_ZONE_DMA_FLAG=1
< CONFIG_BOUNCE=y
---
> CONFIG_ZONE_DMA_FLAG=0
545a545
> CONFIG_ZONE_DEVICE=y
...
Googling CONFIG_ZONE_DMA gave: "DMA memory allocation support allows
devices with less than 32-bit addressing to allocate within the first
16MB of address space. Disable if no such devices will be used."
With the kernel-ppa 4.4-rc8 package I get this dmesg output:
[ 1.910959] parport_pc 00:06: reported by Plug and Play ACPI
[ 1.911139] parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
[ 1.912394] hwdev DMA mask = 0x0000000000ffffff, dev_addr = 0x00000000dbe5b000
[ 1.912476] swiotlb: coherent allocation failed for device 00:06 size=4096
[ 1.912552] CPU: 1 PID: 222 Comm: systemd-modules Not tainted 4.4.0-040400-generic #201601101930
[ 1.912645] Hardware name: Dell Inc. Latitude D830 /0HN338, BIOS A17 06/19/2013
[ 1.912745] 0000000000000000 00000000273b115d ffff8800db0d79a8 ffffffff813c8d94
[ 1.913120] 0000000000ffffff ffff8800db0d79e8 ffffffff813f1e91 00000000dbe5b000
[ 1.913489] 00000000024002c1 ffff880000039800 0000000000001000 ffff8800362f6de0
[ 1.913854] Call Trace:
[ 1.913942] [<ffffffff813c8d94>] dump_stack+0x44/0x60
[ 1.914029] [<ffffffff813f1e91>] swiotlb_alloc_coherent+0x141/0x150
[ 1.914117] [<ffffffff81062503>] x86_swiotlb_alloc_coherent+0x43/0x50
[ 1.914206] [<ffffffffc00d9745>] parport_pc_probe_port+0x9b5/0x1190 [parport_pc]
[ 1.914308] [<ffffffff8152498c>] ? _dev_info+0x6c/0x90
[ 1.914396] [<ffffffffc00da2e3>] parport_pc_pnp_probe+0x143/0x1e0 [parport_pc]
[ 1.914496] [<ffffffffc00da1a0>] ? parport_pc_pci_probe+0x280/0x280 [parport_pc]
[ 1.914595] [<ffffffff81497911>] pnp_device_probe+0x61/0xc0
[ 1.914680] [<ffffffff81528a82>] driver_probe_device+0x222/0x4a0
[ 1.914768] [<ffffffff81528d84>] __driver_attach+0x84/0x90
[ 1.914857] [<ffffffff81528d00>] ? driver_probe_device+0x4a0/0x4a0
[ 1.914945] [<ffffffff815266ac>] bus_for_each_dev+0x6c/0xc0
[ 1.915031] [<ffffffff8152823e>] driver_attach+0x1e/0x20
[ 1.915117] [<ffffffff81527d7b>] bus_add_driver+0x1eb/0x280
[ 1.915201] [<ffffffff81529620>] driver_register+0x60/0xe0
[ 1.915287] [<ffffffff81497750>] pnp_register_driver+0x20/0x30
[ 1.915374] [<ffffffffc006c38e>] parport_pc_init+0x2b1/0xf23 [parport_pc]
[ 1.915462] [<ffffffffc006c0dd>] ? parport_parse_param.constprop.18+0xdd/0xdd [parport_pc]
[ 1.915561] [<ffffffff81002123>] do_one_initcall+0xb3/0x200
[ 1.915646] [<ffffffff811c91f1>] ? __vunmap+0x91/0xe0
[ 1.915733] [<ffffffff811e52eb>] ? kmem_cache_alloc_trace+0x16b/0x1d0
[ 1.915821] [<ffffffff811e6055>] ? kfree+0x115/0x130
[ 1.915908] [<ffffffff81186d13>] do_init_module+0x5f/0x1e5
[ 1.915995] [<ffffffff8110565b>] load_module+0x160b/0x1b80
[ 1.916082] [<ffffffff811018b0>] ? __symbol_put+0x60/0x60
[ 1.916154] [<ffffffff8120bee0>] ? kernel_read+0x50/0x80
[ 1.916237] [<ffffffff81105e19>] SyS_finit_module+0xb9/0xf0
[ 1.916317] [<ffffffff817fd9b6>] entry_SYSCALL_64_fastpath+0x16/0x75
[ 1.916409] parport0: cannot get buffer for DMA, resorting to PIO operation
[ 2.004194] lp0: using parport0 (interrupt-driven).
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1536813
Title:
Change in kernel config between 4.4-rc7 and 4.4-rc8 breaks PC parallel
port DMA
Status in linux package in Ubuntu:
New
Bug description:
When testing mainline kernels from http://kernel.ubuntu.com/~kernel-
ppa/mainline/ I noticed a problem which first appears with the 4.4-rc8
kernel package.
I opened a bug on the kernel bugzilla a few days ago, see https://bugzilla.kernel.org/show_bug.cgi?id=110931
See that for details about the issue.
But I think the actual cause is a change in the Ubuntu kernel config.
CONFIG_ZONE_DMA not being set breaks PC parallel port DMA.
$ diff config-4.4.0-040400rc7-generic config-4.4.0-040400rc8-generic
...
393c393
< CONFIG_ZONE_DMA=y
---
> # CONFIG_ZONE_DMA is not set
517,518c517
< CONFIG_ZONE_DMA_FLAG=1
< CONFIG_BOUNCE=y
---
> CONFIG_ZONE_DMA_FLAG=0
545a545
> CONFIG_ZONE_DEVICE=y
...
Googling CONFIG_ZONE_DMA gave: "DMA memory allocation support allows
devices with less than 32-bit addressing to allocate within the first
16MB of address space. Disable if no such devices will be used."
With the kernel-ppa 4.4-rc8 package I get this dmesg output:
[ 1.910959] parport_pc 00:06: reported by Plug and Play ACPI
[ 1.911139] parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
[ 1.912394] hwdev DMA mask = 0x0000000000ffffff, dev_addr = 0x00000000dbe5b000
[ 1.912476] swiotlb: coherent allocation failed for device 00:06 size=4096
[ 1.912552] CPU: 1 PID: 222 Comm: systemd-modules Not tainted 4.4.0-040400-generic #201601101930
[ 1.912645] Hardware name: Dell Inc. Latitude D830 /0HN338, BIOS A17 06/19/2013
[ 1.912745] 0000000000000000 00000000273b115d ffff8800db0d79a8 ffffffff813c8d94
[ 1.913120] 0000000000ffffff ffff8800db0d79e8 ffffffff813f1e91 00000000dbe5b000
[ 1.913489] 00000000024002c1 ffff880000039800 0000000000001000 ffff8800362f6de0
[ 1.913854] Call Trace:
[ 1.913942] [<ffffffff813c8d94>] dump_stack+0x44/0x60
[ 1.914029] [<ffffffff813f1e91>] swiotlb_alloc_coherent+0x141/0x150
[ 1.914117] [<ffffffff81062503>] x86_swiotlb_alloc_coherent+0x43/0x50
[ 1.914206] [<ffffffffc00d9745>] parport_pc_probe_port+0x9b5/0x1190 [parport_pc]
[ 1.914308] [<ffffffff8152498c>] ? _dev_info+0x6c/0x90
[ 1.914396] [<ffffffffc00da2e3>] parport_pc_pnp_probe+0x143/0x1e0 [parport_pc]
[ 1.914496] [<ffffffffc00da1a0>] ? parport_pc_pci_probe+0x280/0x280 [parport_pc]
[ 1.914595] [<ffffffff81497911>] pnp_device_probe+0x61/0xc0
[ 1.914680] [<ffffffff81528a82>] driver_probe_device+0x222/0x4a0
[ 1.914768] [<ffffffff81528d84>] __driver_attach+0x84/0x90
[ 1.914857] [<ffffffff81528d00>] ? driver_probe_device+0x4a0/0x4a0
[ 1.914945] [<ffffffff815266ac>] bus_for_each_dev+0x6c/0xc0
[ 1.915031] [<ffffffff8152823e>] driver_attach+0x1e/0x20
[ 1.915117] [<ffffffff81527d7b>] bus_add_driver+0x1eb/0x280
[ 1.915201] [<ffffffff81529620>] driver_register+0x60/0xe0
[ 1.915287] [<ffffffff81497750>] pnp_register_driver+0x20/0x30
[ 1.915374] [<ffffffffc006c38e>] parport_pc_init+0x2b1/0xf23 [parport_pc]
[ 1.915462] [<ffffffffc006c0dd>] ? parport_parse_param.constprop.18+0xdd/0xdd [parport_pc]
[ 1.915561] [<ffffffff81002123>] do_one_initcall+0xb3/0x200
[ 1.915646] [<ffffffff811c91f1>] ? __vunmap+0x91/0xe0
[ 1.915733] [<ffffffff811e52eb>] ? kmem_cache_alloc_trace+0x16b/0x1d0
[ 1.915821] [<ffffffff811e6055>] ? kfree+0x115/0x130
[ 1.915908] [<ffffffff81186d13>] do_init_module+0x5f/0x1e5
[ 1.915995] [<ffffffff8110565b>] load_module+0x160b/0x1b80
[ 1.916082] [<ffffffff811018b0>] ? __symbol_put+0x60/0x60
[ 1.916154] [<ffffffff8120bee0>] ? kernel_read+0x50/0x80
[ 1.916237] [<ffffffff81105e19>] SyS_finit_module+0xb9/0xf0
[ 1.916317] [<ffffffff817fd9b6>] entry_SYSCALL_64_fastpath+0x16/0x75
[ 1.916409] parport0: cannot get buffer for DMA, resorting to PIO operation
[ 2.004194] lp0: using parport0 (interrupt-driven).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1536813/+subscriptions
Follow ups