Re: [PATCH] ide: fix crash at boot with siimage driver

From: Sergei Shtylyov
Date: Tue Apr 29 2008 - 11:02:26 EST


Hello.

Benjamin Herrenschmidt wrote:

Some change to the IDE layer are causing the siimage driver to crash
at boot with a NULL dereference. This is due to the sil_dma_ops not
containing all the necessary pointers. I suppose it used to just
"override" the defaults while now, it needs to contain everything.

Both the patch introducing 'struct ide_dma_ops' into drivers and making them 'const' were in the same batch. However, the latter patch (now commit f37afdaca711838b50ecd89b9c15fc745270d77c) erroneously missed siimage.c -- which I didn't notice when reviewing, sigh...

Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
---

Index: linux-work/drivers/ide/pci/siimage.c
===================================================================
--- linux-work.orig/drivers/ide/pci/siimage.c 2008-04-29 14:44:37.000000000 +1000
+++ linux-work/drivers/ide/pci/siimage.c 2008-04-29 14:44:44.000000000 +1000
@@ -780,7 +780,14 @@ static const struct ide_port_ops sil_sat
};
static struct ide_dma_ops sil_dma_ops = {

Could you please make this 'const' -- the same way as the mentioned commit does in other drivers?

+ .dma_host_set = ide_dma_host_set,
+ .dma_setup = ide_dma_setup,
+ .dma_exec_cmd = ide_dma_exec_cmd,
+ .dma_start = ide_dma_start,
+ .dma_end = __ide_dma_end,
.dma_test_irq = siimage_dma_test_irq,
+ .dma_timeout = ide_dma_timeout,
+ .dma_lost_irq = ide_dma_lost_irq,
};
#define DECLARE_SII_DEV(name_str, p_ops) \

MBR, Sergei
--
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/