From 98cfd4573f3a2533f9af6b0a726ae06f6f2c7ff2 Mon Sep 17 00:00:00 2001 From: Prerna Kalla Date: Wed, 29 Apr 2020 16:43:31 +0530 Subject: [PATCH] qseecom: Set max size for dma segment Set max size of dma segment to support requests of larger sizes. Change-Id: I131a36bfc828d80c26bd5f463133edec6707c7fd Signed-off-by: Prerna Kalla --- drivers/misc/qseecom.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c index dfb88e5d7fcd..cd84127b270a 100644 --- a/drivers/misc/qseecom.c +++ b/drivers/misc/qseecom.c @@ -9302,6 +9302,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: @@ -9318,6 +9327,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);