From: Sasha Levin <Alexander.Levin@microsoft.com>
To: "stable@vger.kernel.org" <stable@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Ludovic Desroches <ludovic.desroches@microchip.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Sasha Levin <Alexander.Levin@microsoft.com>
Subject: [PATCH AUTOSEL 4.18 10/56] mmc: atmel-mci: fix bad logic of sg_copy_{from,to}_buffer conversion
Date: Thu, 20 Sep 2018 02:47:33 +0000 [thread overview]
Message-ID: <20180920024716.58490-10-alexander.levin@microsoft.com> (raw)
In-Reply-To: <20180920024716.58490-1-alexander.levin@microsoft.com>
From: Ludovic Desroches <ludovic.desroches@microchip.com>
[ Upstream commit 19f5e9e015675fcdbf2c20e804b2e84e80201454 ]
The conversion to sg_copy_{from,to}_buffer has been done in the wrong
way. sg_copy_to_buffer is a copy from an SG list to a linear buffer so
it can't replace memcpy(buf + offset, &value, remaining) where buf is
the virtual address of the SG. Same for sg_copy_to_buffer but in the
opposite way.
Signed-off-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Suggested-by: Douglas Gilbert <dgilbert@interlog.com>
Fixes: 5b4277814e3f ("mmc: atmel-mci: use sg_copy_{from,to}_buffer")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
drivers/mmc/host/atmel-mci.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 5aa2c9404e92..be53044086c7 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -1976,7 +1976,7 @@ static void atmci_read_data_pio(struct atmel_mci *host)
do {
value = atmci_readl(host, ATMCI_RDR);
if (likely(offset + 4 <= sg->length)) {
- sg_pcopy_to_buffer(sg, 1, &value, sizeof(u32), offset);
+ sg_pcopy_from_buffer(sg, 1, &value, sizeof(u32), offset);
offset += 4;
nbytes += 4;
@@ -1993,7 +1993,7 @@ static void atmci_read_data_pio(struct atmel_mci *host)
} else {
unsigned int remaining = sg->length - offset;
- sg_pcopy_to_buffer(sg, 1, &value, remaining, offset);
+ sg_pcopy_from_buffer(sg, 1, &value, remaining, offset);
nbytes += remaining;
flush_dcache_page(sg_page(sg));
@@ -2003,7 +2003,7 @@ static void atmci_read_data_pio(struct atmel_mci *host)
goto done;
offset = 4 - remaining;
- sg_pcopy_to_buffer(sg, 1, (u8 *)&value + remaining,
+ sg_pcopy_from_buffer(sg, 1, (u8 *)&value + remaining,
offset, 0);
nbytes += offset;
}
@@ -2042,7 +2042,7 @@ static void atmci_write_data_pio(struct atmel_mci *host)
do {
if (likely(offset + 4 <= sg->length)) {
- sg_pcopy_from_buffer(sg, 1, &value, sizeof(u32), offset);
+ sg_pcopy_to_buffer(sg, 1, &value, sizeof(u32), offset);
atmci_writel(host, ATMCI_TDR, value);
offset += 4;
@@ -2059,7 +2059,7 @@ static void atmci_write_data_pio(struct atmel_mci *host)
unsigned int remaining = sg->length - offset;
value = 0;
- sg_pcopy_from_buffer(sg, 1, &value, remaining, offset);
+ sg_pcopy_to_buffer(sg, 1, &value, remaining, offset);
nbytes += remaining;
host->sg = sg = sg_next(sg);
@@ -2070,7 +2070,7 @@ static void atmci_write_data_pio(struct atmel_mci *host)
}
offset = 4 - remaining;
- sg_pcopy_from_buffer(sg, 1, (u8 *)&value + remaining,
+ sg_pcopy_to_buffer(sg, 1, (u8 *)&value + remaining,
offset, 0);
atmci_writel(host, ATMCI_TDR, value);
nbytes += offset;
--
2.17.1
next prev parent reply other threads:[~2018-09-20 2:48 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-20 2:47 [PATCH AUTOSEL 4.18 01/56] ARM: OMAP2+: Fix null hwmod for ti-sysc debug Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 02/56] ARM: OMAP2+: Fix module address for modules using mpu_rt_idx Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 03/56] bus: ti-sysc: Fix module register ioremap for larger offsets Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 04/56] qed: Wait for ready indication before rereading the shmem Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 05/56] qed: Wait for MCP halt and resume commands to take place Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 07/56] qed: Avoid sending mailbox commands when MFW is not responsive Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 06/56] qed: Prevent a possible deadlock during driver load and unload Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 08/56] thermal: of-thermal: disable passive polling when thermal zone is disabled Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 09/56] isofs: reject hardware sector size > 2048 bytes Sasha Levin
2018-09-20 2:47 ` Sasha Levin [this message]
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 11/56] mmc: android-goldfish: fix bad logic of sg_copy_{from,to}_buffer conversion Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 12/56] bus: ti-sysc: Fix no_console_suspend handling Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 13/56] ARM: dts: omap4-droid4: fix vibrations on Droid 4 Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 14/56] bpf, sockmap: fix sock_hash_alloc and reject zero-sized keys Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 15/56] bpf, sockmap: fix sock hash count in alloc_sock_hash_elem Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 16/56] tls: possible hang when do_tcp_sendpages hits sndbuf is full case Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 17/56] bpf: sockmap: write_space events need to be passed to TCP handler Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 18/56] drm/amdgpu: fix VM clearing for the root PD Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 19/56] drm/amdgpu: fix preamble handling Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 21/56] net/ncsi: Fixup .dumpit message flags and ID check in Netlink handler Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 20/56] amdgpu: fix multi-process hang issue Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 22/56] tcp_bbr: add bbr_check_probe_rtt_done() helper Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 24/56] net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 23/56] tcp_bbr: in restart from idle, see if we should exit PROBE_RTT Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 25/56] net: hns: fix skb->truesize underestimation Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 26/56] net: hns3: fix page_offset overflow when CONFIG_ARM64_64K_PAGES Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 27/56] ice: Fix multiple static analyser warnings Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 28/56] ice: Report stats for allocated queues via ethtool stats Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 29/56] ice: Clean control queues only when they are initialized Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 30/56] ice: Fix bugs in control queue processing Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 31/56] ice: Use order_base_2 to calculate higher power of 2 Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 32/56] ice: Set VLAN flags correctly Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 33/56] tools: bpftool: return from do_event_pipe() on bad arguments Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 34/56] ice: Fix a few null pointer dereference issues Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 36/56] e1000: check on netif_running() before calling e1000_up() Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 35/56] ice: Fix potential return of uninitialized value Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 38/56] ixgbe: fix driver behaviour after issuing VFLR Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 37/56] e1000: ensure to free old tx/rx rings in set_ringparam() Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 39/56] i40e: Fix for Tx timeouts when interface is brought up if DCB is enabled Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 40/56] i40e: fix condition of WARN_ONCE for stat strings Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 41/56] crypto: chtls - fix null dereference chtls_free_uld() Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 42/56] crypto: cavium/nitrox - fix for command corruption in queue full case with backlog submissions Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 43/56] hwmon: (ina2xx) fix sysfs shunt resistor read access Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 44/56] hwmon: (adt7475) Make adt7475_read_word() return errors Sasha Levin
2018-09-20 2:47 ` [PATCH AUTOSEL 4.18 45/56] Revert "ARM: dts: imx7d: Invert legacy PCI irq mapping" Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 47/56] drm/amdgpu: Update power state at the end of smu hw_init Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 46/56] drm/amdgpu: Enable/disable gfx PG feature in rlc safe mode Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 48/56] ata: ftide010: Add a quirk for SQ201 Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 49/56] nvme-fcloop: Fix dropped LS's to removed target port Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 51/56] drm/amdgpu: Need to set moved to true when evict bo Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 50/56] ARM: dts: omap4-droid4: Fix emmc errors seen on some devices Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 52/56] arm/arm64: smccc-1.1: Make return values unsigned long Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 54/56] i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 53/56] arm/arm64: smccc-1.1: Handle function result as parameters Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 56/56] x86/pti: Fix section mismatch warning/error Sasha Levin
2018-09-20 2:48 ` [PATCH AUTOSEL 4.18 55/56] clk: x86: Set default parent to 48Mhz Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180920024716.58490-10-alexander.levin@microsoft.com \
--to=alexander.levin@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ludovic.desroches@microchip.com \
--cc=stable@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).