lkml.org 
[lkml]   [2006]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: pata_serverworks oopses in latest -git
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
\
 
 \ /
  Last update: 2006-09-26 17:59    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site