All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steffen Rumler <Steffen.Rumler@siemens.com>
To: linuxppc <linuxppc-embedded@ozlabs.org>
Subject: Kernel boot hangs by parallel flood pings
Date: Wed, 12 Jan 2005 09:38:03 +0100	[thread overview]
Message-ID: <41E4E1EB.6080903@siemens.com> (raw)

I'm using a 2.4.20 kernel (PPC).

When I run multiple 'ping -f' directed to my board
during the kernel boots, sometimes it hangs with
the following messages:


   Memory BAT mapping: BAT2=64Mb, BAT3=32Mb, residual: 84Mb
   Linux version 2.4.20-rthal5 (ru@styx) (gcc version 2.95.3 20010111 (prerelease/franzo/20010111))
   #9 Tue Jan 11 17:09:22 CET 2005
   On node 0 totalpages: 29859
   zone(0): 29859 pages.
   zone(1): 0 pages.
   zone(2): 0 pages.
   Kernel command line: bootdev=aps0 ip=218.1.36.70:218.1.36.47:218.1.36.254:255.255.255.0::eth0:off
   panic=1 mem=119436k
   Calibrating delay loop... 194.15 BogoMIPS
   ...
   NET4: Linux TCP/IP 1.0 for NET4.0
   IP Protocols: ICMP, UDP, TCP
   IP: routing cache ha
                 ^^^^^^^
                   the kernel boot hangs here


I have checked this with the BDI2000 and found that the
kernel loops anywhere inside ip_route_input().

I think this is because the ethernet driver (fcc_enet.c)
enables the hardware too already inside it's init routine (fec_enet_init()).

In this way, frames may be received and forwarded to the upper
layers with netif_rx(), before the TCP/IP was initialized.

I suggest to delay the lines

   /* Enable transmit/receive */
   fccp->fcc_gfmr |= FCC_GFMR_ENR | FCC_GFMR_ENT;

to the open entry point (fcc_enet_open()), which is
triggered by 'ifconfig up' in the following way:


   if(!((fccp->fcc_gfmr) & FCC_GFMR_ENR))
      fccp->fcc_gfmr |= (FCC_GFMR_ENR | FCC_GFMR_ENT);

By the way, fcc_enet_close() does _NOT_ stop the hardware.
Hopefully, this is not a real problem.


Steffen

-- 


--------------------------------------------------------------

Steffen Rumler
ICN CP D NT SW 3
Siemens AG
Hofmannstr. 51                 Email: Steffen.Rumler@siemens.com
D-81359 Munich                 Phone: +49 89 722-44061
Germany                        Fax  : +49 89 722-36703

--------------------------------------------------------------

             reply	other threads:[~2005-01-12  9:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-12  8:38 Steffen Rumler [this message]
2005-01-12 10:29 ` Kernel boot hangs by parallel flood pings Stefan Nickl
  -- strict thread matches above, loose matches on Subject: below --
2005-01-12 15:32 Rune Torgersen
2005-01-12 16:10 ` Wolfgang Denk
     [not found] <F9865C8B04ED3A4D8D793FCE19368854F2FBDF@EXCHANGE01.corp.skystream.com>
2005-01-13  0:14 ` Ho Lee
2005-01-19 18:30 Johns Daniel

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=41E4E1EB.6080903@siemens.com \
    --to=steffen.rumler@siemens.com \
    --cc=linuxppc-embedded@ozlabs.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 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.