All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bhelgaas@google.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: "Jennifer Li (TP)" <Jennifer.Li@o2micro.com>,
	linux-pci@vger.kernel.org, bugzilla-daemon@bugzilla.kernel.org
Subject: Re: [Bug 43247] O2 micro SD/MMC+1394 controller: 1394 device can't work (Register access failure)
Date: Tue, 17 Jul 2012 14:55:31 -0600	[thread overview]
Message-ID: <CAErSpo49SMAbGJTSzzdoiAxgEm6DpxqXxOhk6CWUqtMW9WkcRg@mail.gmail.com> (raw)
In-Reply-To: <20120717214656.20a84ff1@stein>

> Jennifer and the other reporters of the issue most certainly all used
> modular kernels, i.e. got the drivers loaded by udev.
>
> module_init() doesn't matter, but
>   - .probe(),
>   - .resume()
> do.  So as you say, if the drivers were statically linked, then at least
> .probe() would be performed serially, one PCI device after another,
> right?  But AFAIK .resume() would still be performed in parallel by a
> pool of kernel threads in current kernels.

OK, I see.  When both drivers are loaded near the same time via udev,
the firewire driver doesn't work correctly.  I don't know of anything
that serializes driver registration from dynamically loaded modules.

I wouldn't bother with the resume issue until after the load-time
issue is resolved because suspend/resume makes things harder to debug.
 You might be able to try loading/unloading the modules in a loop to
reproduce the issue in a single boot.

> From what I can tell, there is no driver bug but an unfortunate interaction
> between parts of a combo controller which in theory should functionally be
> totally unrelated.

That's plausible.  But I can't think of anything useful the PCI core
can do here.  If you can identify a hardware issue in the device, it's
possible you could write a quirk to work around it.  But after the
driver has called pci_enable_device() (the last point at which quirks
are applied), the PCI core is pretty much out of the picture.

Maybe something could be added to one or both drivers to look for
these devices and try deal with them?  I'm afraid I don't have any
good ideas here.

  reply	other threads:[~2012-07-17 20:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-17  1:40 FW: [Bug 43247] O2 micro SD/MMC+1394 controller: 1394 device can't work (Register access failure) Jennifer Li (TP)
2012-07-17 18:24 ` Bjorn Helgaas
2012-07-17 19:46   ` Stefan Richter
2012-07-17 20:55     ` Bjorn Helgaas [this message]
     [not found] <bug-43247-52301@https.bugzilla.kernel.org/>
     [not found] ` <20120710110216.83BDF11FA14@bugzilla.kernel.org>
2012-07-14 13:09   ` Stefan Richter

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=CAErSpo49SMAbGJTSzzdoiAxgEm6DpxqXxOhk6CWUqtMW9WkcRg@mail.gmail.com \
    --to=bhelgaas@google.com \
    --cc=Jennifer.Li@o2micro.com \
    --cc=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=stefanr@s5r6.in-berlin.de \
    /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.