48cf4473c688f13e3777148f0c4c0e79d129d61d
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0146-bcm2835-sdhost-Restore-ATOMIC-flag-to-PIO-sg-mapping.patch
1 From 681233bfac9474a1defb720fddf90a3087cd1ef4 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Mon, 15 Feb 2016 10:00:27 +0000
4 Subject: [PATCH 146/381] bcm2835-sdhost: Restore ATOMIC flag to PIO sg mapping
5
6 Allocation problems have been seen in a wireless driver, and
7 this is the only change which might have been responsible.
8 ---
9 drivers/mmc/host/bcm2835-sdhost.c | 7 +++----
10 1 file changed, 3 insertions(+), 4 deletions(-)
11
12 --- a/drivers/mmc/host/bcm2835-sdhost.c
13 +++ b/drivers/mmc/host/bcm2835-sdhost.c
14 @@ -874,15 +874,14 @@ static void bcm2835_sdhost_prepare_data(
15 host->flush_fifo = 0;
16 host->data->bytes_xfered = 0;
17
18 -
19 if (!host->dma_desc) {
20 /* Use PIO */
21 - int flags;
22 + int flags = SG_MITER_ATOMIC;
23
24 if (data->flags & MMC_DATA_READ)
25 - flags = SG_MITER_TO_SG;
26 + flags |= SG_MITER_TO_SG;
27 else
28 - flags = SG_MITER_FROM_SG;
29 + flags |= SG_MITER_FROM_SG;
30 sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags);
31 host->blocks = data->blocks;
32 }