control version=1 nRows=35 nColumns=2 endheader time ercspn_r 0.0 6.09756 2.54237 7.31707 4.23729 9.7561 7.62712 9.7561 11.0169 7.31707 12.7119 7.31707 14.4068 6.09756 17.7966 6.09756 19.4915 4.87805 21.1864 4.87805 22.8814 3.65854 29.661 3.65854 31.3559 2.43902 35.5932 2.43902 43.2203 2.43902 47.4576 6.09756 50.8475 10.9756 55.0847 17.0732 58.4746 17.0732 60.1695 14.6341 61.8644 13.4146 65.2542 9.7561 68.6441 8.53659 72.0339 7.31707 73.7288 6.09756 77.1186 4.87805 79.661 4.87805 81.3559 3.65854 85.5932 3.65854 89.8305 3.65854 91.5254 2.43902 94.9153 3.65854 98.3051 4.87805 100 4.87805 iv id='cgit'>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanimir Varbanov <stanimir.varbanov@linaro.org>2016-04-11 11:38:38 +0300
committerVinod Koul <vinod.koul@intel.com>2016-04-19 21:11:31 +0530
commitf139f97878039f9a49db6cb555d95f6b6e9ba0f8 (patch)
tree98016edd494b20a2a0376ef6b66d9249884628a9
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
dmaengine: qcom: bam_dma: fix dma free memory on remove
Building the driver as a module and when removing the already inserted module gives below: [ 1389.392788] Unable to handle kernel paging request at virtual address ffffffbdc000001c [ 1389.421321] pgd = ffffffc02fa87000 [ 1389.447899] [ffffffbdc000001c] *pgd=0000000000000000, *pud=0000000000000000 [ 1389.460142] Internal error: Oops: 96000006 [#1] PREEMPT SMP [ 1389.466963] Modules linked in: qcom_bam_dma(-) [ 1389.486608] CPU: 2 PID: 2442 Comm: rmmod Not tainted 4.2.0+ #407 [ 1389.493885] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT) [ 1389.501196] task: ffffffc035bae2c0 ti: ffffffc0368a8000 task.ti: ffffffc0368a8000 [ 1389.508566] PC is at __free_pages+0xc/0x40 [ 1389.515893] LR is at free_pages.part.93+0x30/0x38 [ 1389.523141] pc : [<ffffffc00016180c>] lr : [<ffffffc00016197c>] pstate: 80000145 [ 1389.530602] sp : ffffffc0368abc20 [ 1389.537931] x29: ffffffc0368abc20 x28: ffffffc0368a8000 [ 1389.549153] x27: 0000000000000000 x26: 0000000000000000 [ 1389.560412] x25: ffffffc000cb2000 x24: 0000000000000170 [ 1389.571530] x23: 0000000000000004 x22: ffffffc036bc5010 [ 1389.582721] x21: ffffffc036bc5010 x20: 0000000000000000 [ 1389.593981] x19: 0000000000000002 x18: 0000007fcbc8e8b0 [ 1389.605301] x17: 0000007f9b8226ec x16: ffffffc0002089e8 [ 1389.616647] x15: 0000007f9b8a0588 x14: 0ffffffffffffffc [ 1389.628039] x13: 0000000000000030 x12: 0000000000000000 [ 1389.639436] x11: 0000000000000008 x10: ffffffc000ecc000 [ 1389.650872] x9 : ffffffc035bae2c0 x8 : ffffffc035bae9a8 [ 1389.662367] x7 : ffffffc035bae9a0 x6 : 0000000000000000 [ 1389.673906] x5 : ffffffbdc000001c x4 : 0000000080000000 [ 1389.685475] x3 : ffffffbdc0000000 x2 : 0000004080000000 [ 1389.697049] x1 : 0000000000000003 x0 : ffffffbdc0000000 The memory has been already freed by bam_free_chan() so fix this by skiping already freed memory. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> Reviewed-by: Andy Gross <andy.gross@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat