power-nv ppc64el crash with ATI FirePro VGA card (snd_hda_intel)

Bug #1374438 reported by Scott Moser
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Tim Gardner
Utopic
Fix Released
Medium
Tim Gardner

Bug Description

I have the following video card in my ppc64 system. When booting ubuntu in power-nv, I get kernel crashes:

# lspci | grep AMD
0001:09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar GL [FirePro 2270]
0001:09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300 Series]

The work around we have in place is
# cat /etc/modprobe.d/blacklist-ppc64el.conf
blacklist snd_hda_intel
blacklist snd_hda_controller
blacklist snd_hda_codec

A snippet of the console log is:
[ 70.094661] init: console-setup main process (1262) terminated with status 1
[ 70.953213] EEH: Frozen PE#3 on PHB#1 detected
[ 70.953280] EEH: PE location: U78CB.001.WZS007L-P1-004 , PHB location: U78CB.001.WZS007L-P1-C32
[ 71.025925] [drm:rv770_stop_dpm] *ERROR* Could not force DPM to low.
[ 71.956221] Unable to handle kernel paging request for data at address 0x444f5250000000a2
[ 71.956325] Faulting instruction address: 0xc0000000006413dc
[ 71.956383] Oops: Kernel access of bad area, sig: 11 [#1]
[ 71.956428] SMP NR_CPUS=2048 NUMA PowerNV
[ 71.956474] Modules linked in: snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore rtc_generic shpchp uio_pdrv_genirq uio powernv_rng ses enclosure radeon i2c_algo_bit ttm drm_kms_helper drm ipr
[ 71.956770] CPU: 0 PID: 779 Comm: kworker/0:1 Tainted: G W 3.16.0-17-generic #23-Ubuntu
[ 71.956852] Workqueue: events azx_probe_work [snd_hda_intel]
[ 71.956909] task: c000000fdee4fe40 ti: c000000fdeeb0000 task.ti: c000000fdeeb0000
[ 71.956975] NIP: c0000000006413dc LR: c00000000064187c CTR: c000000000641810
[ 71.957042] REGS: c000000fdeeb3730 TRAP: 0300 Tainted: G W (3.16.0-17-generic)
[ 71.957119] MSR: 9000000100009033 <SF,HV,EE,ME,IR,DR,RI,LE> CR: 24002084 XER: 00000000
[ 71.957287] CFAR: c000000000009358 DAR: 444f5250000000a2 DSISR: 40000000 SOFTE: 1
GPR00: c00000000064187c c000000fdeeb39b0 c0000000013d4ee0 c000000000c1f8d8
GPR04: 444f525000000012 c000000fdeeb3a50 000000000a1c0000 0000000000000000
GPR08: 0000000000000000 c000000fdeeb3a60 d00000001449f9d0 d0000000144965b8
GPR12: c000000000641810 c00000000fb80000 c0000000000df668 c000000fdf4e0c40
GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20: 0000000000000000 0000000000000001 0000000000000000 c000000fd1157824
GPR24: 0000000000000000 d0000000144f5ad8 0000000000000001 00000000ffffffff
GPR28: 0000000000000001 c000000000c1f8d8 c000000fdeeb3a50 444f525000000012
[ 71.958172] NIP [c0000000006413dc] __dev_printk+0x3c/0x100
[ 71.958218] LR [c00000000064187c] dev_warn+0x6c/0x90
[ 71.958263] Call Trace:
[ 71.958286] [c000000fdeeb39b0] [c000000fdeeb39f0] 0xc000000fdeeb39f0 (unreliable)
[ 71.958365] [c000000fdeeb3a30] [c00000000064187c] dev_warn+0x6c/0x90
[ 71.958433] [c000000fdeeb3a80] [d00000001449529c] azx_codec_create+0x41c/0x460 [snd_hda_controller]
[ 71.958523] [c000000fdeeb3b90] [d0000000144f1ca0] azx_probe_continue+0x370/0x7c0 [snd_hda_intel]
[ 71.958612] [c000000fdeeb3c40] [c0000000000d59ec] process_one_work+0x1ac/0x500
[ 71.958690] [c000000fdeeb3cd0] [c0000000000d62f0] worker_thread+0x190/0x6c0
[ 71.958757] [c000000fdeeb3d80] [c0000000000df770] kthread+0x110/0x130
[ 71.958825] [c000000fdeeb3e30] [c00000000000a468] ret_from_kernel_thread+0x5c/0x74
[ 71.958902] Instruction dump:
[ 71.958936] fba1ffe8 fbc1fff0 fbe1fff8 f8010010 f821ff81 7c9f2378 7c7d1b78 7cbe2b78
[ 71.959047] 60000000 60000000 2fbf0000 41de00a0 <e93f0090> 887d0001 2fa90000 3863ffd0
[ 71.959160] ---[ end trace b21ffc1b5f521aab ]---

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: linux-image-3.16.0-17-generic 3.16.0-17.23
ProcVersionSignature: Ubuntu 3.16.0-17.23-generic 3.16.3
Uname: Linux 3.16.0-17-generic ppc64le
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access /dev/snd/: No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.14.7-0ubuntu2
Architecture: ppc64el
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
Date: Fri Sep 26 12:53:49 2014
Lsusb:
 Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=C
 SHELL=/bin/bash
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: root=UUID=aad7f49b-45f2-42ec-83b9-3233a014bae6 ro console=hvc0
ProcLoadAvg: 0.07 0.05 0.05 1/1156 5329
ProcLocks:
 1: FLOCK ADVISORY WRITE 2515 00:11:45214 0 EOF
 2: POSIX ADVISORY WRITE 2369 00:11:50266 0 EOF
 3: POSIX ADVISORY WRITE 2567 00:11:47202 0 EOF
ProcSwaps:
 Filename Type Size Used Priority
 /swap.img file 8388544 0 -1
ProcVersion: Linux version 3.16.0-17-generic (buildd@fisher03) (gcc version 4.9.1 (Ubuntu 4.9.1-15ubuntu1) ) #23-Ubuntu SMP Fri Sep 19 16:54:14 UTC 2014
RelatedPackageVersions:
 linux-restricted-modules-3.16.0-17-generic N/A
 linux-backports-modules-3.16.0-17-generic N/A
 linux-firmware 1.134
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
cpu_cores: Number of cores present = 20
cpu_coreson: Number of cores online = 19
cpu_dscr: DSCR is 0
cpu_freq:
 min: 3.693 GHz (cpu 156)
 max: 3.693 GHz (cpu 2)
 avg: 3.693 GHz
cpu_runmode:
 Could not retrieve current diagnostics mode,
 No firmware implementation of function
cpu_smt: SMT is on

Revision history for this message
Scott Moser (smoser) wrote :
Scott Moser (smoser)
summary: - ppc64el crash with ATI FirePro VGA card (snd_hda_intel)
+ power-nv ppc64el crash with ATI FirePro VGA card (snd_hda_intel)
Revision history for this message
Anton Blanchard (anton-samba) wrote :

My guess is the card doesn't support 64bit DMA, it supports something less than that. A quick hack in sound/pci/hda/hda_intel.c to disable 64bit DMA fixes it:

 - if ((gcap & AZX_GCAP_64OK) && !pci_set_dma_mask(pci, DMA_BIT_MASK(64)))
 + if (0 && (gcap & AZX_GCAP_64OK) && !pci_set_dma_mask(pci, DMA_BIT_MASK(64)))
                 pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(64));

We will work on a fix, but for now it would be best to blacklist it on ppc64le.

Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Tim Gardner (timg-tpi) wrote :

UBUNTU: [Config] CONFIG_SND_HDA_INTEL=n for ppc64el

Changed in linux (Ubuntu Utopic):
assignee: nobody → Tim Gardner (timg-tpi)
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Utopic):
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.16.0-20.27

---------------
linux (3.16.0-20.27) utopic; urgency=low

  [ Tim Gardner ]

  * [Config] CONFIG_CXL=m
  * Release Tracking Bug
    - LP: #1376354

  [ Andi Kleen ]

  * SAUCE: perf tools: Fix perf record as non root with kptr_restrict == 1
    - LP: #1375441

  [ Chris J Arges ]

  * SAUCE: Revert "sd: don't use scsi_setup_blk_pc_cmnd for flush requests"
    - LP: #1375452

  [ Ian Munsie ]

  * SAUCE: (no-up) powerpc/cell: Move spu_handle_mm_fault() out of cell platform
  * SAUCE: (no-up) powerpc/cell: Move data segment faulting code out of cell platform
  * SAUCE: (no-up) powerpc/msi: Improve IRQ bitmap allocator
  * SAUCE: (no-up) powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
  * SAUCE: (no-up) powerpc/powernv: Split out set MSI IRQ chip code
  * SAUCE: (no-up) cxl: Add new header for call backs and structs
  * SAUCE: (no-up) powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
  * SAUCE: (no-up) powerpc/mm: Add new hash_page_mm()
  * SAUCE: (no-up) powerpc/opal: Add PHB to cxl mode call
  * SAUCE: (no-up) powerpc/mm: Add hooks for cxl
  * SAUCE: (no-up) cxl: Add base builtin support
  * SAUCE: (no-up) cxl: Driver code for powernv PCIe based cards for userspace access
  * SAUCE: (no-up) cxl: Userspace header file.
  * SAUCE: (no-up) cxl: Add driver to Kbuild and Makefiles
  * SAUCE: (no-up) cxl: Add documentation for userspace APIs
 -- Tim Gardner <email address hidden> Tue, 30 Sep 2014 13:05:27 -0600

Changed in linux (Ubuntu Utopic):
status: Fix Committed → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote : boot message

Default Comment by Bridge

tags: added: architecture-ppc64le bugnameltc-116769 severity-medium targetmilestone-inin1410
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.