Softlockup on boot with Cape Verde XT on many kernels

Federico federicotg at gmail.com
Thu Jan 15 12:33:45 PST 2015


It works.
- I applied the patch (manually),
-  recompiled Ubuntu 14.04's kernel 3.13.0-44-generic AMD64,
- uninstalled Catalyst,
- and removed nomodeset kernel parameter from grub.

Ubuntu says I'm running Gallium 0.4 on AMD CAPE VERDE

sudo lshw -c video
[sudo] password for fede:
  *-display
       descripción: VGA compatible controller
       producto: Cape Verde XT [Radeon HD 7770/8760 / R7 250X]
       fabricante: Advanced Micro Devices, Inc. [AMD/ATI]
       id físico: 0
       información del bus: pci at 0000:01:00.0
       versión: 00
       anchura: 64 bits
       reloj: 33MHz
       capacidades: pm pciexpress msi vga_controller bus_master cap_list rom
       configuración: driver=radeon latency=0
       recursos: irq:50 memoria:d0000000-dfffffff memoria:fde80000-fdebffff
ioport:ee00(size=256) memoria:fde00000-fde1ffff

It's working fine AFAIK.
I player a few 1080 videos full screen, played duke nukem3d. Unity desktop
seems fine.

Here are some logs in case you want to see anything there.

Xorg.log:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973/+attachment/4299507/+files/Xorg.0.log
dmesg:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973/+attachment/4299508/+files/dmesg_working.txt
lspci:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1386973/+attachment/4299509/+files/lspci_working.txt

I'd love to see this patch pushed everywhere. :-)


2015-01-15 3:21 GMT-03:00 Michel Dänzer <michel at daenzer.net>:

> On 15.01.2015 12:53, Federico wrote:
> > How about this? It seems at least related.
> >
> > https://github.com/alterapraxisptyltd/openatom/issues/1
> >
> > Quote:
> > [linux] Infinite loop in pci_get_rom_size()
> >
> > This is one of those issues that you find when putting supposedly stable
> > code through unusual situations. I did expect any function in linux that
> > is not part of radeon.ko to not be rock solid. Turns out that's not
> > really the case.
> >
> > If we have a PCIR structure with a zero size length, the loop iterating
> > through those structure does not advance. It simply does "image +=
> > readw(pds + 16) * 512;", but if that field is zero we're back analyzing
> > the same structure on the next loop. The way to get out of this loop is
> > to set bit 7 of the type field. That's what 'last_image' does. If that
> > bit is not set, with the above, that's an infinite loop.
> >
> > Luckily, it doesn't crash the kernel, but it hangs any driver that calls
> > the function under said circumstances. No more modprobe -r or unbinding.
> > Reboot is needed. No idea why a firmware blob here is treated as trusted
> > input.
>
> That could indeed explain it, does the attached patch help?
>
>
> --
> Earthling Michel Dänzer               |               http://www.amd.com
> Libre software enthusiast             |             Mesa and X developer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150115/c63a526c/attachment.html>


More information about the dri-devel mailing list