diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch b/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch new file mode 100644 index 0000000000..bc3bb26149 --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch @@ -0,0 +1,32 @@ +From 1bb1322d03193dc4214b030afad507d0df18e55c Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Mon, 15 Feb 2016 10:00:27 +0000 +Subject: [PATCH 146/304] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping + +Allocation problems have been seen in a wireless driver, and +this is the only change which might have been responsible. +--- + drivers/mmc/host/bcm2835-sdhost.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/drivers/mmc/host/bcm2835-sdhost.c ++++ b/drivers/mmc/host/bcm2835-sdhost.c +@@ -874,15 +874,14 @@ static void bcm2835_sdhost_prepare_data( + host->flush_fifo = 0; + host->data->bytes_xfered = 0; + +- + if (!host->dma_desc) { + /* Use PIO */ +- int flags; ++ int flags = SG_MITER_ATOMIC; + + if (data->flags & MMC_DATA_READ) +- flags = SG_MITER_TO_SG; ++ flags |= SG_MITER_TO_SG; + else +- flags = SG_MITER_FROM_SG; ++ flags |= SG_MITER_FROM_SG; + sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); + host->blocks = data->blocks; + } |