Re: long boot delays caused by 070ad7e7 floppy change

From: Linus Torvalds
Date: Tue Jul 03 2012 - 13:59:02 EST


On Tue, Jul 3, 2012 at 10:50 AM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> It looks like the code meant for -1 to mean "regular delay"
> (current_reqD), and -2 to mean MAXTIMEOUT. For some reason the "-1"
> logic has gotten screwed.

So it looks like current_reqD still exists, and sets the drive to
"current_drive". Which *should* be 0, as far as I can tell. In fact,
since "current_drive" is printed out by DPRINTK(), we *know* it's 0
(it's the "0" in the "floppy0:" message).

But how the heck does it pick that bogus 20 second delay then? The -1
should have been caught by

if (drive == current_reqD)
drive = current_drive;

and then we should have used the regular delay for drive 0.

Jiri, any ideas?

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/