Messages in this thread | | | Date | Wed, 3 Mar 2010 09:24:43 +0100 | From | Sebastian Andrzej Siewior <> | Subject | Re: [PATCH] Call flush_dcache_page around PIO data transfers in libata-aff.c |
| |
> drivers/ata/libata-sff.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > >diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c >index 741065c..3d3c854 100644 >--- a/drivers/ata/libata-sff.c >+++ b/drivers/ata/libata-sff.c >@@ -893,6 +896,9 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) > do_write); > } > >+ if (!do_write) >+ flush_dcache_page(page); >+ > qc->curbytes += qc->sect_size; > qc->cursg_ofs += qc->sect_size;
That part got merged and it leads to a BUG if CONFIG_DEBUG_VM is enabled. My mips box and arm use page_mapping() in flush_dcache_page() which has VM_BUG_ON(PageSlab(page)) in it.
Any comments on that?
Sebastian
| |