• W
    crypto: hisilicon/qm - fix the call trace when unbind device · daa31783
    Weili Qian 提交于
    Call trace will appear in the Hisilicon crypto driver unbinding or
    disabling SRIOV during task running with TFMs on the corresponding
    function.
    The log looks like this:
    	[  293.908078] Call trace:
    	[  293.908080]  __queue_work+0x494/0x548
    	[  293.908081]  queue_work_on+0x84/0xd8
    	[  293.908092]  qm_irq+0x4c/0xd0 [hisi_qm]
    	[  293.908096]  __handle_irq_event_percpu+0x74/0x2a0
    	[  293.908098]  handle_irq_event_percpu+0x40/0x98
    	[  293.908099]  handle_irq_event+0x4c/0x80
    	[  293.908101]  handle_fasteoi_irq+0xb0/0x170
    	[  293.908102]  generic_handle_irq+0x3c/0x58
    	[  293.908103]  __handle_domain_irq+0x68/0xc0
    	[  293.908104]  gic_handle_irq+0xb4/0x298
    	[  293.908105]  el1_irq+0xcc/0x180
    	[  293.908107]  arch_cpu_idle+0x38/0x228
    	[  293.908110]  default_idle_call+0x20/0x40
    	[  293.908113]  do_idle+0x1cc/0x2b8
    	[  293.908114]  cpu_startup_entry+0x2c/0x30
    	[  293.908115]  rest_init+0xdc/0xe8
    	[  293.908117]  arch_call_rest_init+0x14/0x1c
    	[  293.908117]  start_kernel+0x490/0x4c4
    
    This patch adds a waiting logic as user doing the above two operations
    to avoid panic. The two operations will hold on in the driver
    remove function until the tasks release all their relative TFMs.
    Signed-off-by: NHui Tang <tanghui20@huawei.com>
    Signed-off-by: NWeili Qian <qianweili@huawei.com>
    Signed-off-by: NYang Shen <shenyang39@huawei.com>
    Reviewed-by: NZhou Wang <wangzhou1@hisilicon.com>
    Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
    daa31783
zip_main.c 23.8 KB