aspeed-video WARN_ON in dma_free_attrs with 5.2

Joel Stanley joel at jms.id.au
Mon Jul 8 14:15:00 AEST 2019


I am running with Jae's fixes from dev-5.1 applied to 5.2.. I see this
on boot, early on as userspace is coming up. The host is not running.

 WARNING: CPU: 0 PID: 140 at kernel/dma/mapping.c:281 dma_free_attrs+0xd0/0xe0

The driver is calling dma_free_attrs from aspeed_video_release. The
comment in dma_free_attrs says:

        /*
         * On non-coherent platforms which implement DMA-coherent buffers via
         * non-cacheable remaps, ops->free() may call vunmap(). Thus getting
         * this far in IRQ context is a) at risk of a BUG_ON() or trying to
         * sleep on some machines, and b) an indication that the driver is
         * probably misusing the coherent API anyway.
         */
        WARN_ON(irqs_disabled());

Which suggests aspeed-video might be at fault.

I can reproduce it in qemu. It does not reproduce with vanilla 5.2,
which does not contain Jae's various fixes.

Cheers,

Joel

---

[   18.348693] ------------[ cut here ]------------
[   18.353384] WARNING: CPU: 0 PID: 140 at kernel/dma/mapping.c:281
dma_free_attrs+0xd0/0xe0
[   18.361575] CPU: 0 PID: 140 Comm: v4l_id Not tainted
5.2.0-00110-ga3c857653fe9 #2
[   18.369054] Hardware name: Generic DT based system
[   18.373839] Backtrace:
[   18.376328] [<80107e10>] (dump_backtrace) from [<80108044>]
(show_stack+0x20/0x24)
[   18.383902]  r7:0012c000 r6:00000009 r5:00000000 r4:00000000
[   18.389583] [<80108024>] (show_stack) from [<8069dbe4>]
(dump_stack+0x20/0x28)
[   18.396833] [<8069dbc4>] (dump_stack) from [<80118930>]
(__warn.part.3+0xb4/0xdc)
[   18.404330] [<8011887c>] (__warn.part.3) from [<80118ad0>]
(warn_slowpath_null+0x50/0x5c)
[   18.412498]  r6:80158c28 r5:00000119 r4:807e2d78
[   18.417136] [<80118a80>] (warn_slowpath_null) from [<80158c28>]
(dma_free_attrs+0xd0/0xe0)
[   18.425395]  r6:96100000 r5:9e125210 r4:80701904
[   18.430031] [<80158b58>] (dma_free_attrs) from [<804f6500>]
(aspeed_video_release+0xf8/0x138)
[   18.438555]  r8:00000000 r7:20000013 r6:946a6cc0 r5:9456d4a0 r4:9456d000
[   18.445267] [<804f6408>] (aspeed_video_release) from [<804d4050>]
(v4l2_release+0xd4/0xe8)
[   18.453530]  r8:95da1770 r7:946f2310 r6:945852a8 r5:946a6cc0 r4:9456d318
[   18.460245] [<804d3f7c>] (v4l2_release) from [<80245448>] (__fput+0x98/0x1d0)
[   18.467374]  r5:000a001d r4:946a6cc0
[   18.470962] [<802453b0>] (__fput) from [<802455e8>] (____fput+0x18/0x1c)
[   18.477668]  r10:80a03008 r9:95003fb0 r8:80101204 r7:00000000
r6:80a65ab4 r5:947f5040
[   18.485484]  r4:947f537c
[   18.488028] [<802455d0>] (____fput) from [<80134af4>]
(task_work_run+0x7c/0xa0)
[   18.495350] [<80134a78>] (task_work_run) from [<801069d8>]
(do_work_pending+0x484/0x598)
[   18.503439]  r7:00000000 r6:05200001 r5:80101204 r4:ffffe000
[   18.509106] [<80106554>] (do_work_pending) from [<8010106c>]
(slow_work_pending+0xc/0x20)
[   18.517277] Exception stack(0x95003fb0 to 0x95003ff8)
[   18.522333] 3fa0:                                     00000000
00000000 00000001 00000000
[   18.530507] 3fc0: 00000000 76f75330 05200001 00000006 00000000
00000000 43690fa4 00000000
[   18.538676] 3fe0: 00023fd8 7ee50c18 00010edc 43801f70 60000010 00000003
[   18.545293]  r10:00000006 r9:95002000 r8:80101204 r7:00000006
r6:05200001 r5:76f75330
[   18.553109]  r4:00000000
[   18.555643] ---[ end trace fd1729fd68c24eef ]---
[   18.560573] ------------[ cut here ]------------


More information about the openbmc mailing list