Re: pata_serverworks oopses in latest -git

From: Jeff Garzik
Date: Tue Sep 26 2006 - 11:57:06 EST


Alan Cox wrote:
Ar Maw, 2006-09-26 am 14:00 +0200, ysgrifennodd Diego Calleja:
When trying to test the new libata PATA drivers in the latest -git tree, I got this when udev tried to load the module:

Yes something seems to be very ill in the -git tree but I'm not sure
what has changed in the libata core to trigger all this at the moment.

One thing I notice in pata_serverworks.c is the lack of an ->irq_clear() hook, which is called unconditionally in ata_device_add(). It's a bit strange that it wasn't caught before, since ->irq_clear() has been called unconditionally for a great many kernel releases.

Diego, does the attached patch help?

Jeff



diff --git a/drivers/ata/pata_serverworks.c b/drivers/ata/pata_serverworks.c
index af45611..9c1719c 100644
--- a/drivers/ata/pata_serverworks.c
+++ b/drivers/ata/pata_serverworks.c
@@ -356,6 +356,8 @@ static struct ata_port_operations server
.data_xfer = ata_pio_data_xfer,

.irq_handler = ata_interrupt,
+ .irq_clear = ata_bmdma_irq_clear,
+
.port_start = ata_port_start,
.port_stop = ata_port_stop,
.host_stop = ata_host_stop
@@ -389,6 +391,8 @@ static struct ata_port_operations server
.data_xfer = ata_pio_data_xfer,

.irq_handler = ata_interrupt,
+ .irq_clear = ata_bmdma_irq_clear,
+
.port_start = ata_port_start,
.port_stop = ata_port_stop,
.host_stop = ata_host_stop