diff --git a/drivers/ub/cdma/cdma_dev.c b/drivers/ub/cdma/cdma_dev.c index 98586c82e4912a44b75948c286b21fdf8fb5e475..af0dcb501090727f785e9a6b87346db6c283a6ad 100644 --- a/drivers/ub/cdma/cdma_dev.c +++ b/drivers/ub/cdma/cdma_dev.c @@ -146,14 +146,14 @@ static void cdma_release_table_res(struct cdma_dev *cdev) struct cdma_tp *tmp; int id; + idr_for_each_entry(&cdev->queue_table.idr_tbl.idr, queue, id) + cdma_delete_queue(cdev, queue->id); idr_for_each_entry(&cdev->ctp_table.idr_tbl.idr, tmp, id) cdma_destroy_ctp_imm(cdev, tmp->base.tp_id); idr_for_each_entry(&cdev->jfs_table.idr_tbl.idr, jfs, id) cdma_delete_jfs(cdev, jfs->id); idr_for_each_entry(&cdev->jfc_table.idr_tbl.idr, jfc, id) cdma_delete_jfc(cdev, jfc->jfcn, NULL); - idr_for_each_entry(&cdev->queue_table.idr_tbl.idr, queue, id) - cdma_delete_queue(cdev, queue->id); idr_for_each_entry(&cdev->seg_table.idr_tbl.idr, seg, id) cdma_unregister_seg(cdev, seg); }