diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index 4145f26261f4..affe9ae11ea2 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -9307,6 +9307,15 @@ static int qseecom_init_dev(struct platform_device *pdev) goto exit_del_cdev; } + if (!qseecom.dev->dma_parms) { + qseecom.dev->dma_parms = + kzalloc(sizeof(*qseecom.dev->dma_parms), GFP_KERNEL); + if (!qseecom.dev->dma_parms) { + rc = -ENOMEM; + goto exit_del_cdev; + } + } + dma_set_max_seg_size(qseecom.dev, DMA_BIT_MASK(32)); return 0; exit_del_cdev: @@ -9323,6 +9332,8 @@ exit_unreg_chrdev_region: static void qseecom_deinit_dev(void) { + kfree(qseecom.dev->dma_parms); + qseecom.dev->dma_parms = NULL; cdev_del(&qseecom.cdev); device_destroy(qseecom.driver_class, qseecom.qseecom_device_no); class_destroy(qseecom.driver_class);