[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f96157c40607261244m205ff68dh5563c66436a2e67@mail.gmail.com>
Date: Wed, 26 Jul 2006 21:44:40 +0200
From: "gmu 2k6" <gmu2006@...il.com>
To: "Michael Buesch" <mb@...sch.de>
Cc: "Jeff Garzik" <jgarzik@...ox.com>,
"Philipp Rumpf" <prumpf@...drakesoft.com>,
"Andrew Morton" <akpm@...l.org>, linux-kernel@...r.kernel.org
Subject: Re: hwrng on 82801EB/ER (ICH5/ICH5R) fails rngtest checks
On 7/26/06, Michael Buesch <mb@...sch.de> wrote:
> On Wednesday 26 July 2006 16:52, gmu 2k6 wrote:
> > On 7/26/06, Michael Buesch <mb@...sch.de> wrote:
> > > On Wednesday 26 July 2006 16:21, gmu 2k6 wrote:
> > > > it just outputs this and stops with 2.6.18-rc2-HEAD (see dmesg for hashcode or
> > > > whatever that is which is appended as localversion)
> > > >
> > > > svn:~# hexdump /dev/hwrng
> > > > 0000000 ffff ffff ffff ffff ffff ffff ffff ffff
> > > > *
> > > >
> > > > with 2.6.17.6:
> > > > svn:~# hexdump /dev/hwrng
> > > > 0000000 ffff ffff ffff ffff ffff ffff ffff ffff
> > > > *
> > > >
> > > > this was without any rng-tools installed and no rngd running of course.
> > >
> > > Hm, so I would say the hardware either broken, or intel
> > > changed the way to read the random data from it. But I doubt they
> > > would change something like this on the ICH5.
> > >
> > > Who wrote the ICH driver? Jeff? Philipp?
> > > What do you think?
> >
> > IIRC it was Jeff.
>
> "What do you think?" was more a question to Jeff or Philipp ;)
>
>
>
> But could you try the following patch on top of latest git?
> It's just a random test, but I think it's worth trying.
> Let's see if it works around the issue.
>
> Index: linux-2.6/drivers/char/hw_random/intel-rng.c
> ===================================================================
> --- linux-2.6.orig/drivers/char/hw_random/intel-rng.c 2006-06-27 17:48:13.000000000 +0200
> +++ linux-2.6/drivers/char/hw_random/intel-rng.c 2006-07-26 17:27:03.000000000 +0200
> @@ -104,9 +104,14 @@
> int err = -EIO;
>
> hw_status = hwstatus_get(mem);
> + hw_status = hwstatus_set(mem, hw_status & ~INTEL_RNG_ENABLED);
> + hw_status = hwstatus_set(mem, hw_status | INTEL_RNG_ENABLED);
> +#if 0
> + hw_status = hwstatus_get(mem);
> /* turn RNG h/w on, if it's off */
> if ((hw_status & INTEL_RNG_ENABLED) == 0)
> hw_status = hwstatus_set(mem, hw_status | INTEL_RNG_ENABLED);
> +#endif
> if ((hw_status & INTEL_RNG_ENABLED) == 0) {
> printk(KERN_ERR PFX "cannot enable RNG, aborting\n");
> goto out;
well as it didn't work, are you sure it was not intended to be more like this:
@@ -104,9 +104,14 @@
int err = -EIO;
hw_status = hwstatus_get(mem);
+ hw_status = hwstatus_set(mem, hw_status & ~INTEL_RNG_ENABLED);
+ hw_status = hwstatus_set(mem, hw_status | INTEL_RNG_ENABLED);
+#if 0
/* turn RNG h/w on, if it's off */
if ((hw_status & INTEL_RNG_ENABLED) == 0)
hw_status = hwstatus_set(mem, hw_status | INTEL_RNG_ENABLED);
+#endif
if ((hw_status & INTEL_RNG_ENABLED) == 0) {
printk(KERN_ERR PFX "cannot enable RNG, aborting\n");
goto out;
?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists