From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: David Miller <davem@davemloft.net>
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: Mon, 13 Nov 2017 12:21:48 +0200 [thread overview]
Message-ID: <20171113102148.GP18997@lahna.fi.intel.com> (raw)
In-Reply-To: <20171111.192124.1886178021388114448.davem@davemloft.net>
On Sat, Nov 11, 2017 at 07:21:24PM +0900, David Miller wrote:
> 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.
There does not seem to be a way to mark DMA address invalid in a driver
so we probably need to add a flag to struct tbnet_frame instead.
next prev parent reply other threads:[~2017-11-13 10:28 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
2017-11-13 10:21 ` Mika Westerberg [this message]
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=20171113102148.GP18997@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=davem@davemloft.net \
--cc=michael.jamet@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 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.