Messages in this thread | | | Date | Wed, 12 Mar 2008 11:58:20 +0200 | From | Muli Ben-Yehuda <> | Subject | Re: [RFC] [Patch] calgary iommu: Use the first kernel's tce tables in kdump |
| |
On Wed, Mar 12, 2008 at 10:38:49AM +0530, Chandru wrote:
> The system booted! , :) with the following change. Muli acceptable?? > > static void calgary_watchdog(unsigned long data) > { > ... > ... > /* Disable bus that caused the error and ignore if it's kdump kernel */ > + if ( !is_kdump_kernel()) { > target = calgary_reg(bbar, phb_offset(tbl->it_busno) | > PHB_CONFIG_RW_OFFSET); > val32 = be32_to_cpu(readl(target)); > val32 |= PHB_SLOT_DISABLE; > writel(cpu_to_be32(val32), target); > + } > readl(target); /* flush */
Yikes, not really :-)
You're basically saying "if we're in a kdump kernel, let's ignore all DMA errors and hope for the best". This is not really acceptable. What we could do is limit the scope of ignorance - only ignore errors from the point the kdump kernel starts booting until we have reinitialized the device and then go back to handling DMA errors correctly.
Cheers, Muli
| |