← Back to team overview

kernel-packages team mailing list archive

[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