From: David Miller <davem@davemloft.net>
To: mika.westerberg@linux.intel.com
Cc: michael.jamet@intel.com, yehezkel.bernat@intel.com,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next] net: thunderbolt: Clear finished Tx frame bus address in tbnet_tx_callback()
Date: Sat, 11 Nov 2017 19:21:24 +0900 (KST) [thread overview]
Message-ID: <20171111.192124.1886178021388114448.davem@davemloft.net> (raw)
In-Reply-To: <20171109104628.63979-1-mika.westerberg@linux.intel.com>
From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: Thu, 9 Nov 2017 13:46:28 +0300
> When Thunderbolt network interface is disabled or when the cable is
> unplugged the driver releases all allocated buffers by calling
> tbnet_free_buffers() for each ring. This function then calls
> dma_unmap_page() for each buffer it finds where bus address is non-zero.
> Now, we only clear this bus address when the Tx buffer is sent to the
> hardware so it is possible that the function finds an entry that has
> already been unmapped.
>
> Enabling DMA-API debugging catches this as well:
>
> thunderbolt 0000:06:00.0: DMA-API: device driver tries to free DMA
> memory it has not allocated [device address=0x0000000068321000] [size=4096 bytes]
>
> Fix this by clearing the bus address of a Tx frame right after we have
> unmapped the buffer.
>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Applied, but assuming zero is a non-valid DMA address is never a good
idea. That's why we have the DMA error code signaling abstracted.
next prev parent reply other threads:[~2017-11-11 10:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-09 10:46 [PATCH net-next] net: thunderbolt: Clear finished Tx frame bus address in tbnet_tx_callback() Mika Westerberg
2017-11-11 10:21 ` David Miller [this message]
2017-11-13 10:21 ` Mika Westerberg
2017-11-20 14:46 ` David Laight
2017-11-20 15:05 ` 'Mika Westerberg'
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=20171111.192124.1886178021388114448.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=michael.jamet@intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=netdev@vger.kernel.org \
--cc=yehezkel.bernat@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).