On Fri, Nov 03, 2006 at 05:42:15PM +0100, Arjan van de Ven wrote: > On Fri, 2006-11-03 at 09:54 -0600, Mike Miller (OS Dev) wrote: > > PATCH 5 of 8 resend > > > > This patch unconditionally disables DMA prefetch on the P600 controller. A > > bug in the ASIC may result in prefetching either beyond the end of memory > > or to fall off into a memory hole. > > Please consider this for inclusion. > > > > Thanks, > > mikem > > > > Signed-off-by: Mike Miller <mike.miller@xxxxxx> > > > > cciss.c | 13 +++++++++++++ > > cciss_cmd.h | 1 + > > 2 files changed, 14 insertions(+) > > -------------------------------------------------------------------------------- > > diff -urNp linux-2.6-p00004/drivers/block/cciss.c linux-2.6-p00005/drivers/block/cciss.c > > --- linux-2.6-p00004/drivers/block/cciss.c 2006-10-31 15:20:25.000000000 -0600 > > +++ linux-2.6-p00005/drivers/block/cciss.c 2006-11-03 09:43:55.000000000 -0600 > > @@ -2997,6 +2997,19 @@ static int cciss_pci_init(ctlr_info_t *c > > } > > #endif > > > > + { > > + /* Disabling DMA prefetch for the P600 > > + * An ASIC bug may result in a prefetch beyond > > + * physical memory. > > + */ > > + __u32 dma_prefetch > > + if(board_id == 0x3225103C) { > > + dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG); > > + dma_prefetch |= 0x8000; > > + writel(dma_prefetch, c->vaddr + I2O_DMA1_CFG); > > + } > > + } > > + > > if you remove the if() you might as well also remove the {}'s ;) And fix the spaces around the if() while we're at it, aka: /* * Disable DMA prefetch for the P600. * An ASIC bug may result in a prefetch beyond * physical memory. */ if (board_id == 0x3225103C) { u32 dma_prefetch = readl(c->vaddr + I2O_DMA1_CFG); writel(dma_prefetch | 0x8000, c->vaddr + I2O_DMA1_CFG); } - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html