netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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.

  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).