[PATCH] Let DAC960 supply entropy to random pool

From: Anders K. Pedersen
Date: Thu Feb 23 2006 - 11:50:01 EST


Hello,

We have a couple of servers with Mylex RAID controllers (handled by the
DAC960 block device driver). There's normally no keyboard or mouse
attached, and neither the DAC960 nor the NIC driver (e100) provides
entropy to the random pool, so it was impossible to get any data from
/dev/random.

The patch below lets the DAC960 IRQ provide entropy to the random pool,
and after applying this (to 2.6.15.4), /dev/random is able to provide
data on these servers. I fear, that my mailer may line wrap the patch,
so it is also attached to this mail.

--- drivers/block/DAC960.c~ 2006-02-23 16:34:47.000000000 +0100
+++ drivers/block/DAC960.c 2006-02-23 16:34:47.000000000 +0100
@@ -3024,7 +3024,7 @@ DAC960_DetectController(struct pci_dev *
Acquire shared access to the IRQ Channel.
*/
IRQ_Channel = PCI_Device->irq;
- if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ,
+ if (request_irq(IRQ_Channel, InterruptHandler,
SA_SHIRQ|SA_SAMPLE_RANDOM,
Controller->FullModelName, Controller) < 0)
{
DAC960_Error("Unable to acquire IRQ Channel %d for Controller at\n",

--
Med venlig hilsen - Best regards

Anders K. Pedersen
Network Engineer
--- drivers/block/DAC960.c~ 2006-02-23 16:34:47.000000000 +0100
+++ drivers/block/DAC960.c 2006-02-23 16:34:47.000000000 +0100
@@ -3024,7 +3024,7 @@ DAC960_DetectController(struct pci_dev *
Acquire shared access to the IRQ Channel.
*/
IRQ_Channel = PCI_Device->irq;
- if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ,
+ if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ|SA_SAMPLE_RANDOM,
Controller->FullModelName, Controller) < 0)
{
DAC960_Error("Unable to acquire IRQ Channel %d for Controller at\n",