From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
alan@lxorguk.ukuu.org.uk, Shuah Khan <shuah.khan@hp.com>,
Vinod Koul <vinod.koul@linux.intel.com>
Subject: [ 15/15] ioat: Fix DMA memory sync direction correct flag
Date: Thu, 24 Jan 2013 13:18:39 -0800 [thread overview]
Message-ID: <20130124211729.429168479@linuxfoundation.org> (raw)
In-Reply-To: <20130124211723.489089115@linuxfoundation.org>
3.0-stable review patch. If anyone has any objections, please let me know.
------------------
From: Shuah Khan <shuah.khan@hp.com>
commit ac4989874af56435c308bdde9ad9c837a26f8b23 upstream.
ioat does DMA memory sync with DMA_TO_DEVICE direction on a buffer allocated
for DMA_FROM_DEVICE dma, resulting in the following warning from dma debug.
Fixed the dma_sync_single_for_device() call to use the correct direction.
[ 226.288947] WARNING: at lib/dma-debug.c:990 check_sync+0x132/0x550()
[ 226.288948] Hardware name: ProLiant DL380p Gen8
[ 226.288951] ioatdma 0000:00:04.0: DMA-API: device driver syncs DMA memory with different direction [device address=0x00000000ffff7000] [size=4096 bytes] [mapped with DMA_FROM_DEVICE] [synced with DMA_TO_DEVICE]
[ 226.288953] Modules linked in: iTCO_wdt(+) sb_edac(+) ioatdma(+) microcode serio_raw pcspkr edac_core hpwdt(+) iTCO_vendor_support hpilo(+) dca acpi_power_meter ata_generic pata_acpi sd_mod crc_t10dif ata_piix libata hpsa tg3 netxen_nic(+) sunrpc dm_mirror dm_region_hash dm_log dm_mod
[ 226.288967] Pid: 1055, comm: work_for_cpu Tainted: G W 3.3.0-0.20.el7.x86_64 #1
[ 226.288968] Call Trace:
[ 226.288974] [<ffffffff810644cf>] warn_slowpath_common+0x7f/0xc0
[ 226.288977] [<ffffffff810645c6>] warn_slowpath_fmt+0x46/0x50
[ 226.288980] [<ffffffff81345502>] check_sync+0x132/0x550
[ 226.288983] [<ffffffff81345c9f>] debug_dma_sync_single_for_device+0x3f/0x50
[ 226.288988] [<ffffffff81661002>] ? wait_for_common+0x72/0x180
[ 226.288995] [<ffffffffa019590f>] ioat_xor_val_self_test+0x3e5/0x832 [ioatdma]
[ 226.288999] [<ffffffff811a5739>] ? kfree+0x259/0x270
[ 226.289004] [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[ 226.289008] [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
[ 226.289011] [<ffffffffa0195f51>] ioat3_dma_probe+0x1d5/0x2aa [ioatdma]
[ 226.289016] [<ffffffffa0194d12>] ioat_pci_probe+0x139/0x17c [ioatdma]
[ 226.289020] [<ffffffff81354b8c>] local_pci_probe+0x5c/0xd0
[ 226.289023] [<ffffffff81083e50>] ? destroy_work_on_stack+0x20/0x20
[ 226.289025] [<ffffffff81083e68>] do_work_for_cpu+0x18/0x30
[ 226.289029] [<ffffffff8108d997>] kthread+0xb7/0xc0
[ 226.289033] [<ffffffff8166cef4>] kernel_thread_helper+0x4/0x10
[ 226.289036] [<ffffffff81662d20>] ? _raw_spin_unlock_irq+0x30/0x50
[ 226.289038] [<ffffffff81663234>] ? retint_restore_args+0x13/0x13
[ 226.289041] [<ffffffff8108d8e0>] ? kthread_worker_fn+0x1a0/0x1a0
[ 226.289044] [<ffffffff8166cef0>] ? gs_change+0x13/0x13
[ 226.289045] ---[ end trace e1618afc7a606089 ]---
[ 226.289047] Mapped at:
[ 226.289048] [<ffffffff81345307>] debug_dma_map_page+0x87/0x150
[ 226.289050] [<ffffffffa019653c>] dma_map_page.constprop.18+0x70/0xb34 [ioatdma]
[ 226.289054] [<ffffffffa0195702>] ioat_xor_val_self_test+0x1d8/0x832 [ioatdma]
[ 226.289058] [<ffffffffa0195d77>] ioat3_dma_self_test+0x1b/0x20 [ioatdma]
[ 226.289061] [<ffffffffa01952c3>] ioat_probe+0x2f8/0x348 [ioatdma]
Signed-off-by: Shuah Khan <shuah.khan@hp.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/dma/ioat/dma_v3.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/dma/ioat/dma_v3.c
+++ b/drivers/dma/ioat/dma_v3.c
@@ -949,7 +949,7 @@ static int __devinit ioat_xor_val_self_t
goto free_resources;
}
}
- dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_TO_DEVICE);
+ dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_FROM_DEVICE);
/* skip validate if the capability is not present */
if (!dma_has_cap(DMA_XOR_VAL, dma_chan->device->cap_mask))
next prev parent reply other threads:[~2013-01-24 21:20 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 21:18 [ 00/15] 3.0.61-stable review Greg Kroah-Hartman
2013-01-24 21:18 ` [ 01/15] drm/i915: Invalidate the relocation presumed_offsets along the slow path Greg Kroah-Hartman
2013-01-24 21:18 ` [ 02/15] ftrace: Be first to run code modification on modules Greg Kroah-Hartman
2013-01-24 21:18 ` [ 03/15] PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported Greg Kroah-Hartman
2013-01-24 21:18 ` [ 04/15] USB: UHCI: fix IRQ race during initialization Greg Kroah-Hartman
2013-01-24 21:18 ` [ 05/15] SCSI: sd: Reshuffle init_sd to avoid crash Greg Kroah-Hartman
2013-01-24 21:18 ` [ 06/15] drivers/firmware/dmi_scan.c: check dmi version when get system uuid Greg Kroah-Hartman
2013-01-24 21:18 ` [ 07/15] drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists Greg Kroah-Hartman
2013-01-24 21:18 ` Greg Kroah-Hartman
2013-01-24 21:18 ` [ 08/15] serial: 8250, increase PASS_LIMIT Greg Kroah-Hartman
2013-01-24 21:18 ` [ 09/15] staging: usbip: changed function return type to void Greg Kroah-Hartman
2013-01-24 21:18 ` [ 10/15] drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled Greg Kroah-Hartman
2013-01-24 21:18 ` [ 11/15] ahci: Add identifiers for ASM106x devices Greg Kroah-Hartman
2013-01-25 20:45 ` Jerry Snitselaar
2013-01-25 22:00 ` Abdallah Chatila
2013-01-28 4:42 ` Greg Kroah-Hartman
2013-01-24 21:18 ` [ 12/15] x86: Use enum instead of literals for trap values [PARTIAL] Greg Kroah-Hartman
2013-01-24 21:18 ` [ 13/15] SGI-XP: handle non-fatal traps Greg Kroah-Hartman
2013-01-24 21:18 ` [ 14/15] ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled Greg Kroah-Hartman
2013-01-24 21:18 ` Greg Kroah-Hartman [this message]
2013-01-25 18:04 ` [ 00/15] 3.0.61-stable review Shuah Khan
2013-01-26 11:58 ` Satoru Takeuchi
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=20130124211729.429168479@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=shuah.khan@hp.com \
--cc=stable@vger.kernel.org \
--cc=vinod.koul@linux.intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.