netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
To: Quentin Lambert <lambert.quentin@gmail.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [net-next PATCH v3 1/1] atm: remove deprecated use of pci api
Date: Fri, 16 Jan 2015 09:52:44 -0500	[thread overview]
Message-ID: <20150116095244.40249284@thirdoffive.cmf.nrl.navy.mil> (raw)
In-Reply-To: <54B91BD1.70909@gmail.com>

On Fri, 16 Jan 2015 15:10:25 +0100
Quentin Lambert <lambert.quentin@gmail.com> wrote:


> > -    u32 dma_addr = pci_map_single((struct pci_dev*)fore200e->bus_dev, virt_addr, size, direction);
> > +    u32 dma_addr = dma_map_single(&((struct pci_dev *) fore200e->bus_dev)->dev, virt_addr, size, direction);
> >   
> >       DPRINTK(3, "PCI DVMA mapping: virt_addr = 0x%p, size = %d, direction = %d,  --> dma_addr = 0x%08x\n",
> >   	    virt_addr, size, direction, dma_addr);
> >
> []
> 
> I am going try to make similar changes in some other part of the kernel and
> I was wondering if you could explain how you decided it wasn't necessary to
> check for "((struct pci_dev *) fore200e->bus_dev" nullity for instance.

This gets set up in fore200e_pca_detect() which is pretty early in the
intialization process.  We don't get as far as using any of the "DVMA"
stubs unless pci_enable_device() succeeds, meaning pci_dev is good, and
fore200e->bus_dev is assigned to pci_dev (around line 2724).

fore200e->bus_dev is never cleared back to NULL, but obviously you
shouldn't be using any of the DMA routines after disabling the pci
device.  Hopefully the driver shuts down in an orderly fashion such
that all DMA is over by the time the driver disables the pci device.

  reply	other threads:[~2015-01-16 14:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-12 16:10 [PATCH v2 1/1] atm: remove deprecated use of pci api Quentin Lambert
2015-01-14  2:59 ` David Miller
2015-01-14 13:58   ` chas williams - CONTRACTOR
2015-01-14 14:25     ` Quentin Lambert
2015-01-14 14:47   ` David Laight
2015-01-16 13:57     ` [net-next PATCH v3 " chas williams - CONTRACTOR
2015-01-16 14:10       ` Quentin Lambert
2015-01-16 14:52         ` chas williams - CONTRACTOR [this message]
2015-01-16 14:54           ` Quentin Lambert
2015-01-18  5:28       ` David Miller

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=20150116095244.40249284@thirdoffive.cmf.nrl.navy.mil \
    --to=chas@cmf.nrl.navy.mil \
    --cc=lambert.quentin@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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).