• Govind Singh's avatar
    ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in idr_alloc · 87e8497a
    Govind Singh authored
    With SLUB DEBUG CONFIG below crash is seen as kmem_cache_alloc
    is being called in non-atomic context.
    To fix this issue, use GFP_ATOMIC instead of GFP_KERNEL in idr_alloc.
    
    BUG: sleeping function called from invalid context at mm/slab.h:393
    
    [   59.805451] Call trace:
    [   59.807971]  ___might_sleep+0x110/0x118
    [   59.811915]  __might_sleep+0x50/0x84
    [   59.815593]  kmem_cache_alloc+0x60/0x3e0
    [   59.819630]  radix_tree_node_alloc+0x4c/0xe8
    [   59.824014]  radix_tree_extend+0x8c/0x164
    [   59.828135]  idr_get_free_cmn+0xa4/0x27c
    [   59.832167]  idr_alloc_cmn+0x70/0xe8
    [   59.835856]  ath11k_dp_rxbufs_replenish+0x1e8/0x310 [ath11k]
    [   59.841687]  ath11k_dp_rxdma_ring_buf_setup+0x50/0x60 [ath11k]
    [   59.847693]  ath11k_dp_rx_pdev_alloc+0x260/0x4d8 [ath11k]
    [   59.853248]  ath11k_dp_pdev_alloc+0x40/0xc4 [ath11k]
    [   59.858357]  ath11k_core_qmi_firmware_ready+0x3c4/0x490 [ath11k]
    [   59.864538]  ath11k_qmi_driver_event_work+0x4c8/0x1178 [ath11k]
    [   59.870620]  process_one_work+0x208/0x434
    
    Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
    Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/1601399736-3210-9-git-send-email-kvalo@codeaurora.org
    87e8497a
dp_rx.h 3.46 KB