Commits
John Stultz committed f9aa2c60711
ANDROID: ion: Fix buffer_lock mutex initialization Running with lockdep, I saw: [ 95.326037] DEBUG_LOCKS_WARN_ON(lock->magic != lock) [ 95.326067] WARNING: CPU: 6 PID: 814 at kernel/locking/mutex.c:938 __mutex_lock+0x608/0x8d8 [ 95.339515] Modules linked in: xhci_plat_hcd xhci_pci xhci_hcd ufs_qcom syscon_reboot_mode spmi_pmic_arb snd_soc_hdmi_codec smsm smem sdhci_msm sdhci_pltfm sdhci rf [ 95.405115] CPU: 6 PID: 814 Comm: NDK MediaCodec_ Tainted: G W 5.4.0-rc7-mainline-00568-gd48a35356edb #1095 [ 95.416246] Hardware name: Thundercomm Dragonboard 845c (DT) [ 95.421960] pstate: 60400005 (nZCv daif +PAN -UAO) [ 95.426806] pc : __mutex_lock+0x608/0x8d8 [ 95.430868] lr : __mutex_lock+0x608/0x8d8 [ 95.434933] sp : ffffffc0133c3a90 ... [ 95.518865] Call trace: [ 95.521354] __mutex_lock+0x608/0x8d8 [ 95.525059] mutex_lock_nested+0x3c/0x50 [ 95.529070] ion_buffer_alloc+0x230/0x330 [ 95.533136] ion_dmabuf_alloc+0x6c/0xf8 [ 95.537034] ion_ioctl+0x220/0x418 [ 95.540622] do_vfs_ioctl+0xc4/0xa20 [ 95.544255] ksys_ioctl+0x8c/0xa0 [ 95.547841] __arm64_sys_ioctl+0x28/0x38 [ 95.551850] el0_svc_common.constprop.2+0x7c/0x198 [ 95.556693] el0_svc_handler+0x80/0xa0 [ 95.560495] el0_svc+0x8/0xc [ 95.563430] irq event stamp: 7881 [ 95.567894] hardirqs last enabled at (7881): [<ffffffd0d1edfc78>] __slab_alloc.isra.83.constprop.90+0x80/0xc8 [ 95.578008] hardirqs last disabled at (7880): [<ffffffd0d1edfc3c>] __slab_alloc.isra.83.constprop.90+0x44/0xc8 [ 95.588098] softirqs last enabled at (7780): [<ffffffd0d1c820bc>] __do_softirq+0x49c/0x608 [ 95.596529] softirqs last disabled at (7771): [<ffffffd0d1cc1df8>] irq_exit+0x140/0x148 [ 95.604613] ---[ end trace 206552022d1ff2b8 ]--- After digging around, I realized the ion_device buffer_lock isn't being properly initialized. So this patch corrects that. Signed-off-by: John Stultz <john.stultz@linaro.org> Change-Id: Id3381006b23c370f90a7e5efd6efe5448ebe87c5