From: Maciej Sosnowski <maciej.sosnowski@intel.com>
To: dan.j.williams@intel.com
Cc: tom.s.picard@intel.com, mark_rustad@Xiotech.com,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
stable@kernel.org
Subject: [PATCH 1/4] I/OAT: fix channel resources free for not allocated channels
Date: Fri, 07 Nov 2008 12:45:52 +0100 [thread overview]
Message-ID: <20081107114525.25190.7557.stgit@linux.site> (raw)
In-Reply-To: <20081107114325.25190.5419.stgit@linux.site>
From: Maciej Sosnowski <maciej.sosnowski@intel.com>
If the ioatdma driver is loaded but not used it does not allocate descriptors.
Before it frees channel resources it should first be sure
that they have been previously allocated.
Cc: <stable@kernel.org>
Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Tested-by: Tom Picard <tom.s.picard@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
drivers/dma/ioat_dma.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index b0438c4..687eef7 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -807,6 +807,12 @@ static void ioat_dma_free_chan_resources
struct ioat_desc_sw *desc, *_desc;
int in_use_descs = 0;
+ /* Before freeing channel resources first check
+ * if they have been previously allocated for this channel.
+ */
+ if (ioat_chan->desccount == 0)
+ return;
+
tasklet_disable(&ioat_chan->cleanup_task);
ioat_dma_memcpy_cleanup(ioat_chan);
@@ -869,6 +875,7 @@ static void ioat_dma_free_chan_resources
ioat_chan->last_completion = ioat_chan->completion_addr = 0;
ioat_chan->pending = 0;
ioat_chan->dmacount = 0;
+ ioat_chan->desccount = 0;
ioat_chan->watchdog_completion = 0;
ioat_chan->last_compl_desc_addr_hw = 0;
ioat_chan->watchdog_tcp_cookie =
next prev parent reply other threads:[~2008-11-07 11:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-07 11:45 [PATCH 0/4] I/OAT fixes Maciej Sosnowski
2008-11-07 11:45 ` Maciej Sosnowski [this message]
2008-11-07 11:46 ` [PATCH 2/4] I/OAT: fix dma_pin_iovec_pages() error handling Maciej Sosnowski
2008-11-07 11:46 ` [PATCH 3/4] I/OAT: fix async_tx.callback checking Maciej Sosnowski
2008-11-07 11:47 ` [PATCH 4/4] dca: fixup initialization dependency Maciej Sosnowski
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=20081107114525.25190.7557.stgit@linux.site \
--to=maciej.sosnowski@intel.com \
--cc=dan.j.williams@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark_rustad@Xiotech.com \
--cc=netdev@vger.kernel.org \
--cc=stable@kernel.org \
--cc=tom.s.picard@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 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).