← Back to team overview

kernel-packages team mailing list archive

[Bug 1534647] Re: Collateral damage due to kernel configuration change enabling CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)

 

I've been impacted by this bug, in that it disables all "Envy24"
soundcards such as the popular (but obsolete) M-Audio "Delta" series PCI
audio cards. See http://article.gmane.org/gmane.linux.alsa.user/39428 .

Additional side-effects/impacts of this bug are that the applications
used to talk to this series of music-production soundcards no longer
work. Specifically "my" https://launchpad.net/ubuntu/+source/mudita24
as well as the older 'envy24control' that it replaces.

The list of cards this bug disables is long: M-Audio Delta 1010, Delta
1010LT, Delta DiO 2496, Delta 66, Delta 44, Delta 410 and Audiophile
2496. Terratec EWS 88MT, EWS 88D, EWX 24/96, DMX 6Fire, Phase 88.
Hoontech Soundtrack DSP 24, Soundtrack DSP 24 Value, Soundtrack DSP 24
Media 7.1. Event Electronics EZ8. Digigram VX442. Lionstracs,
Mediastaton. Terrasoniq TS 88. Roland/Edirol DA-2496.

The problem persists using the above-suggested "fix" packages of "4.4.0-2.16" which I retrieved from
https://launchpad.net/ubuntu/xenial/amd64/linux-image-4.4.0-2-generic/4.4.0-2.16
https://launchpad.net/ubuntu/xenial/amd64/linux-image-extra-4.4.0-2-generic/4.4.0-2.16
https://launchpad.net/ubuntu/xenial/amd64/linux-headers-4.4.0-2/4.4.0-2.16
https://launchpad.net/ubuntu/xenial/amd64/linux-headers-4.4.0-2-generic/4.4.0-2.16

Likewise, the problem persists using the above-suggested "lowlatency"
kernels.

In all cases, for 4.4.1, 4.4.0-2, or their lowlatency variants, there is a missing "snd_ice1712" module in 
/lib/modules/4.4.1-040401-generic/kernel/sound/pci/ice1712/ . The directory contains modules for snd_ice1724 which is a completely different soundcard (which nobody uses or has) snd_ice1724 . snd-ice1712.ko is missing.

-rw-r--r-- 1 root root 247046 Jan 31 12:48 snd-ice1724.ko
-rw-r--r-- 1 root root   9230 Jan 31 12:48 snd-ice17xx-ak4xxx.ko

In kernel 4.3.0 (directory /lib/modules/4.3.0-040300-generic/kernel/sound/pci/ice1712/
) the file is present and all the envy24 cards I have (Terratec DMX6Fire, M-Audio Delta 66, Event EZ8) work fine:

-rw-r--r-- 1 root root 120838 Nov  2 07:01 snd-ice1712.ko
-rw-r--r-- 1 root root 246270 Nov  2 07:01 snd-ice1724.ko
-rw-r--r-- 1 root root   9230 Nov  2 07:01 snd-ice17xx-ak4xxx.ko

-- 
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/1534647

Title:
  Collateral damage due to kernel configuration change enabling
  CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Xenial:
  Fix Committed

Bug description:
  Late in the kernel 4.4 RC (Release Candidate) cycle (between rc7 and
  rc8), Ubuntu implemented an amd64 kernel configuration change enabling
  CONFIG_ZONE_DEVICE.

  The related email: https://lists.ubuntu.com/archives/kernel-
  team/2016-January/067683.html

  The commit message does mention collateral damage: "In effect, this precludes devices that can only DMA from memory addresses below 16MB".
  Indeed we already have a complaint about a sound card that doesn't work as of kernel 4.4-rc8.

  If CONFIG_ZONE_DEVICE is enabled, then CONFIG_ZONE_DMA is forced to disabled, which in turn forces these devices, all are sound cards, and their derivative devices, to be disabled:
  Avance Logic ALS300/ALS300+
  ALi M5451 PCI Audio Controller
  Aztech AZF3328 / PCI168
  Emu10k1 (SB Live!, Audigy, E-mu APS)
  Emu10k1X (Dell OEM Version)
  ESS ES1938/1946/1969 (Solo-1)
  ESS ES1968/1978 (Maestro-1/2/2E)
  ICEnsemble ICE1712 (Envy24)
  ESS Allegro/Maestro3
  S3 SonicVibes
  Trident 4D-Wave DX/NX; SiS 7018.

  References: linux/mm/Kconfig; linux/sound/pci/Kconfig

  One test done (suggested by apw on IRC) was to remove the dependency of ZONE_DEVICE on !ZONE_DMA, but that causes:
  "#error ZONES_SHIFT -- too many zones configured adjust calculation", as apw predicted.
  In a mindless way, I tried to allow more zones in linux/include/linux/page-flags-layout.h, but that caused a bunch of "shifting by too many bits type errors. Anyway it seems that MAX_NR_ZONES is, at least partially, hard coded to 4 in some array definitions and such.

  Please do not ask me to do "apport-collect" for this bug report as it
  is not needed, nor relevant.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1534647/+subscriptions


References