linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Hancock <hancockrwd@gmail.com>
To: Josh Boyer <jwboyer@redhat.com>
Cc: Jeff Garzik <jgarzik@pobox.com>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel-team@fedoraproject.org
Subject: Re: pata_jmicron triggers warning in PCIe code
Date: Wed, 23 Nov 2011 23:49:56 -0600	[thread overview]
Message-ID: <4ECDDB04.5050307@gmail.com> (raw)
In-Reply-To: <20111123144344.GA5116@zod.bos.redhat.com>

On 11/23/2011 08:43 AM, Josh Boyer wrote:
> Hi,
>
> We have a report of the pata_jmicron driver hitting the following
> warning in the 3.1.x kernel series:
>
> WARNING: at drivers/pci/search.c:44 pci_find_upstream_pcie_bridge+0x56/0x6f()
> Hardware name: System Product Name
> Modules linked in: pata_jmicron(+)
> Pid: 256, comm: modprobe Not tainted 3.1.1-1.fc16.x86_64 #1
> Call Trace:
>   [<ffffffff81057a1e>] warn_slowpath_common+0x83/0x9b
>   [<ffffffff81057a50>] warn_slowpath_null+0x1a/0x1c
>   [<ffffffff81241643>] pci_find_upstream_pcie_bridge+0x56/0x6f
>   [<ffffffff814b45d4>] get_domain_for_dev.part.9.constprop.13+0x2e/0x47f
>   [<ffffffff814b4bf9>] __get_valid_domain_for_dev+0x2c/0xa0
>   [<ffffffff813c1ca3>] __intel_map_single+0x5a/0x172
>   [<ffffffff811103e8>] ? alloc_pages_current+0xc7/0xd8
>   [<ffffffff813c1eb7>] intel_alloc_coherent+0xc7/0xee
>   [<ffffffff812e7612>] ? dmam_noncoherent_release+0x1b/0x1b
>   [<ffffffff812e757c>] dma_alloc_coherent+0x80/0x82
>   [<ffffffff812e7721>] dmam_alloc_coherent+0x58/0x9c
>   [<ffffffff81317e88>] ata_bmdma_port_start+0x43/0x58
>   [<ffffffff81309ef6>] ata_host_start+0xdd/0x168
>   [<ffffffff813184fd>] ? __ata_sff_interrupt+0x179/0x179
>   [<ffffffff81318709>] ata_pci_sff_activate_host+0x36/0x1e0
>   [<ffffffff813c2b1f>] ? pcibios_set_master+0x88/0x8f
>   [<ffffffff81318bc7>] ata_pci_bmdma_init_one+0xc2/0xf8
>   [<ffffffffa0000032>] jmicron_init_one+0x32/0x34 [pata_jmicron]
>   [<ffffffff8123fce7>] local_pci_probe+0x44/0x75
>   [<ffffffff8124084a>] pci_device_probe+0xd0/0xff
>   [<ffffffff812dea17>] driver_probe_device+0x131/0x213
>   [<ffffffff812deb53>] __driver_attach+0x5a/0x7e
>   [<ffffffff812deaf9>] ? driver_probe_device+0x213/0x213
>   [<ffffffff812dda9f>] bus_for_each_dev+0x53/0x89
>   [<ffffffff812de5f6>] driver_attach+0x1e/0x20
>   [<ffffffff812de21a>] bus_add_driver+0xd1/0x224
>   [<ffffffffa0002000>] ? 0xffffffffa0001fff
>   [<ffffffff812deff7>] driver_register+0x98/0x105
>   [<ffffffffa0002000>] ? 0xffffffffa0001fff
>   [<ffffffff8124110d>] __pci_register_driver+0x56/0xc1
>   [<ffffffffa0002000>] ? 0xffffffffa0001fff
>   [<ffffffffa000201e>] jmicron_init+0x1e/0x20 [pata_jmicron]
>   [<ffffffff81002099>] do_one_initcall+0x7f/0x136
>   [<ffffffff8108a595>] sys_init_module+0x88/0x1d0
>   [<ffffffff814bd8c2>] system_call_fastpath+0x16/0x1b
>
> That boils down to the following check:
>
>                  /* PCI device should connect to a PCIe bridge */
>                  if (pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE) {
>                          /* Busted hardware? */
>                          WARN_ON_ONCE(1);
>                          return NULL;
>                  }
>
> I don't recall seeing reports of this on the 3.0 kernel.  Should we add
> some debugging code to print out what pdev->pcie_type is set to here?
> Without knowing that, I can't tell if it's actually finding something weird
> about the hardware, or memory corruption that seems to hit here.
>
> The user has hit it about 3 times thus far, so they can at least recreate
> it fairly easily.
>
> Any other ideas?

Well, I don't think it has anything to do with the driver. It seems like 
the code is trying to go from the PCI device up the chain of PCI bridges 
until it finds a PCI-E device that's a bridge. The warning indicates 
that the first PCI-E device it found didn't seem to be a bridge.

Can we get the output of "lspci -vv" on this machine?


      reply	other threads:[~2011-11-24  5:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-23 14:43 pata_jmicron triggers warning in PCIe code Josh Boyer
2011-11-24  5:49 ` Robert Hancock [this message]

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=4ECDDB04.5050307@gmail.com \
    --to=hancockrwd@gmail.com \
    --cc=jgarzik@pobox.com \
    --cc=jwboyer@redhat.com \
    --cc=kernel-team@fedoraproject.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@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).