public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: Josh Boyer <jwboyer@redhat.com>
Cc: Matt Carlson <mcarlson@broadcom.com>,
	Michael Chan <mchan@broadcom.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: tg3 'No PHY devices' loading issue
Date: Tue, 17 Apr 2012 21:59:55 +0100	[thread overview]
Message-ID: <20120417205955.GC3932@decadent.org.uk> (raw)
In-Reply-To: <20120417194029.GH19507@zod.bos.redhat.com>

On Tue, Apr 17, 2012 at 03:40:30PM -0400, Josh Boyer wrote:
> On Tue, Apr 17, 2012 at 08:10:42PM +0100, Ben Hutchings wrote:
> > On Tue, Apr 17, 2012 at 11:50:07AM -0700, Matt Carlson wrote:
> > > On Tue, Apr 17, 2012 at 10:18:57AM -0400, Josh Boyer wrote:
> > > > Hi Matt and Michael,
> > > > 
> > > > I'm seeing an odd issue with the tg3 driver on one of my development
> > > > machines.  I've tried kernels 3.2.10, 3.3.0, 3.3.1, 3.3.2 and 3.4-rc3
> > > > and they all seem to exhibit this issue now.  When the machine boots
> > > > and the tg3 driver is loaded, it fails to find a PHY and then reports
> > > > 'Problem fetching invariants of chip'.  If I do a rmmod/modprobe of
> > > > tg3 after login, the probe seems to work fine and ethernet works as
> > > > expected.  You can see this in the dmesg below:
> > [...]
> > > The 57788 uses the broadcom phylib module.  For some reason, it isn't
> > > available the first module load attempt.  A while ago, code was added to
> > > phylib to request modules from userspace if the particular phy support
> > > code wasn't already loaded.  It looks like this mechanism isn't working
> > > too well the first time through.
> > [...]
> > 
> > At a guess, tg3 is in the initramfs but broadcom isn't.
> 
> Good guess.  At least on one of the initramfs' I checked.  I'll verify
> the others, but it seems likely they match.  As I just said in my other
> reply, I would have expected tg3 to have a module dep on it to get it
> included in the initramfs built, but it seems that isn't the case.
 
tg3 doesn't use any symbols from broadcom, which is the only way
depmod can find dependencies.

In initramfs-tools (used in Debian and its derivatives) we just copy
all PHY drivers into the initramfs by default.  dracut should probably
do the same, at least when phylib is in the initramfs (or built into
the kernel).  (tg3 does use symbols from phylib.)

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
                                                              - Albert Camus

  reply	other threads:[~2012-04-17 21:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-17 14:18 tg3 'No PHY devices' loading issue Josh Boyer
2012-04-17 18:50 ` Matt Carlson
2012-04-17 19:10   ` Ben Hutchings
2012-04-17 19:40     ` Josh Boyer
2012-04-17 20:59       ` Ben Hutchings [this message]
2012-04-17 21:07         ` Josh Boyer
2012-04-17 19:39   ` Josh Boyer
2012-04-17 21:05     ` Josh Boyer
2012-04-18  8:14       ` Harald Hoyer
2012-04-18 11:43         ` Josh Boyer

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=20120417205955.GC3932@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=jwboyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcarlson@broadcom.com \
    --cc=mchan@broadcom.com \
    --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