Marco,

What makes you think that the crash after second modprobe is related to the mappings pointers in DRM module? Can you actually establish the correlation between these patches and the crash or you are just suspecting because your other bug had something to do with module removal/insertion?

If it's the latter, then you may want to open another bug report here https://bugs.freedesktop.org/ (use DRI for product and pick DRM/radeon for component) and have this issue tracked and addressed separately.

The divide error that your log shows apparently happens at this line
inside r6xx_remap_render_backend:

pipe_rb_ratio = rendering_pipe_num / req_rb_num;

I would suspect that req_rb_num somehow evaluates to zero at the second modprobe. That variable seems to be the derived of the last three arguments to r6xx_remap_render_backend. If I look at the caller (evergreen_gpu_init) the arguments that have the play here are all derived from the GPU's hardware registers (or are the constant for a given GPU device). So I suspect that the GPU driver leaves some state in GPU at module removal that later bites you.

-- Ilija

On Tue, 2 Apr 2013, Marco Munderloh wrote:

Hi Ilija,

Thanks for testing. Other issues are probably unrelated, so I'll send the last version of the patch to Dave.

I came across another problem which seems related. rmmod radeon works, however, modprobe radeon afterwards results in a crash (divide error), see attachment.

Best, Marco

On 02.04.2013 13:23, Ilija Hadzic wrote:

-- Ilija

On Tue, Apr 2, 2013 at 6:36 AM, Marco Munderloh <mund...@tnt.uni-hannover.de <mailto:mund...@tnt.uni-hannover.de>> wrote:

Attached is a v2 of the patch, for reference. I would appreciate if the original reporter or you tested it in lieu of your proposed patch and let me know if it
        fixes your
        issue.


The patch works for me. echo 3 > /proc/sys/vm/drop_caches as well as rmmod radeon do not end up in a crash anymore. However, I have still no clue why one of these makes drm_open to fail. On rmmod radeon I get the following log messages. If don't know if the 'unpin not necessary' has anything to do with it.

    [drm] radeon: finishing device.
    radeon 0000:01:00.0: ffff88024e526c00 unpin not necessary
    radeon 0000:01:00.0: ffff88024f2f6000 unpin not necessary
    radeon 0000:01:00.0: ffff88024f2f6000 unpin not necessary
    [TTM] Finalizing pool allocator
    [TTM] Finalizing DMA pool allocator
    [TTM] Zone  kernel: Used memory at exit: 0 kiB
    [TTM] Zone   dma32: Used memory at exit: 0 kiB
    [drm] radeon: ttm finalized
    vga_switcheroo: disabled
    [drm] Module unloaded

By the way, sometimes my r8169 ethernet controller does not survive suspend/hibernation (does not detect link). rmmod/modprobe helps. I don't know if this is related.



--
Dipl.-Ing. Marco Munderloh             Mail: mund...@tnt.uni-hannover.de
Institut f?r Informationsverarbeitung (TNT)     Phone: +49 511 762-19587
Leibniz Universitaet Hannover, Appelstr. 9a       Fax: +49 511 762- 5333
30167 Hannover, Germany     Web: http://www.tnt.uni-hannover.de/~munderl

Reply via email to