|
@@ -2880,6 +2880,8 @@ static int sep_free_dma_tables_and_dcb(struct sep_device *sep, bool isapplet,
|
|
|
|
|
|
dev_dbg(&sep->pdev->dev, "[PID%d] sep_free_dma_tables_and_dcb\n",
|
|
|
current->pid);
|
|
|
+ if (!dma_ctx || !*dma_ctx) /* nothing to be done here*/
|
|
|
+ return 0;
|
|
|
|
|
|
if (((*dma_ctx)->secure_dma == false) && (isapplet == true)) {
|
|
|
dev_dbg(&sep->pdev->dev, "[PID%d] handling applet\n",
|
|
@@ -2895,8 +2897,7 @@ static int sep_free_dma_tables_and_dcb(struct sep_device *sep, bool isapplet,
|
|
|
* Go over each DCB and see if
|
|
|
* tail pointer must be updated
|
|
|
*/
|
|
|
- for (i = 0; dma_ctx && *dma_ctx &&
|
|
|
- i < (*dma_ctx)->nr_dcb_creat; i++, dcb_table_ptr++) {
|
|
|
+ for (i = 0; i < (*dma_ctx)->nr_dcb_creat; i++, dcb_table_ptr++) {
|
|
|
if (dcb_table_ptr->out_vr_tail_pt) {
|
|
|
pt_hold = (unsigned long)dcb_table_ptr->
|
|
|
out_vr_tail_pt;
|