From: Alan Cox Subject: Re: Runaway loop with the current git. Date: Sun, 7 Dec 2008 17:28:55 +0000 Message-ID: <20081207172855.55fee78f@lxorguk.ukuu.org.uk> References: <20081207112335.0afd5192@lxorguk.ukuu.org.uk> <20081207155507.GA15355@gondor.apana.org.au> <20081207160921.693f637a@lxorguk.ukuu.org.uk> <20081207163151.GA31838@ioremap.net> <20081207170108.39dfd93f@lxorguk.ukuu.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "Evgeniy Polyakov" , "Herbert Xu" , linux-kernel@vger.kernel.org, "Linux Crypto Mailing List" To: "Kay Sievers" Return-path: Received: from earthlight.etchedpixels.co.uk ([81.2.110.250]:58218 "EHLO lxorguk.ukuu.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751216AbYLGR2v (ORCPT ); Sun, 7 Dec 2008 12:28:51 -0500 In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-ID: > > /dev/console is a logical mapping to a device which may well be > > different, loaded after PCI is initialised and dependant on PCI. > > So wrong. If no driver is associated, like early, in that case, we > must return -ENODEV, instead of calling modprobe in a loop. It's a > built-in device, and it's easy to fix. You've clearly no idea how initrd even works have you ? If it just returned -ENODEV you wouldn't be able to open the console and you wouldn't trigger the loading of the module to get the console running. So you've now completely buggered the boot process. The correct sequence is Open device Kernel issues hotplug message Hotplug script loads drivers to policy The problem case you have due to initrd bugs is Open device Kernel issues hotplug message Hotplug script opens same device (BUG) Kernel issues hotplug message ..... Kernel detects this is stuck Kernel replies with -ENODEV/-ENXIO to try and rescue itself from buggy initrd scripts That is how it has worked since we first had script based module requesting which is some years now.