hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/ata/pata_octeon_cf.c
....@@ -888,12 +888,14 @@
888888 int i;
889889 res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
890890 if (!res_dma) {
891
+ put_device(&dma_dev->dev);
891892 of_node_put(dma_node);
892893 return -EINVAL;
893894 }
894
- cf_port->dma_base = (u64)devm_ioremap_nocache(&pdev->dev, res_dma->start,
895
+ cf_port->dma_base = (u64)devm_ioremap(&pdev->dev, res_dma->start,
895896 resource_size(res_dma));
896897 if (!cf_port->dma_base) {
898
+ put_device(&dma_dev->dev);
897899 of_node_put(dma_node);
898900 return -EINVAL;
899901 }
....@@ -903,6 +905,7 @@
903905 irq = i;
904906 irq_handler = octeon_cf_interrupt;
905907 }
908
+ put_device(&dma_dev->dev);
906909 }
907910 of_node_put(dma_node);
908911 }
....@@ -910,7 +913,7 @@
910913 if (!res_cs1)
911914 return -EINVAL;
912915
913
- cs1 = devm_ioremap_nocache(&pdev->dev, res_cs1->start,
916
+ cs1 = devm_ioremap(&pdev->dev, res_cs1->start,
914917 resource_size(res_cs1));
915918 if (!cs1)
916919 return rv;
....@@ -926,7 +929,7 @@
926929 if (!res_cs0)
927930 return -EINVAL;
928931
929
- cs0 = devm_ioremap_nocache(&pdev->dev, res_cs0->start,
932
+ cs0 = devm_ioremap(&pdev->dev, res_cs0->start,
930933 resource_size(res_cs0));
931934 if (!cs0)
932935 return rv;