/* This routine handles an ibm,sdram-4xx-ddr2 controller ECC uncorrectable error.  */
static void ppc4xx_edac_handle_ue(struct mem_ctl_info *mci, const struct ppc4xx_ecc_status *status)
/* This routine handles an ibm,sdram-4xx-ddr2 controller ECC uncorrectable error.  */
static void ppc4xx_edac_handle_ue(struct mem_ctl_info *mci, const struct ppc4xx_ecc_status *status)
{
	const u64 bear = ((u64)status->bearh << 32 | status->bearl);
	const unsigned long page = bear >> PAGE_SHIFT;
	const unsigned long offset = bear & ~PAGE_MASK;
	int row;
	char message[PPC4XX_EDAC_MESSAGE_SIZE];
	ppc4xx_edac_generate_message(mci, status, message, sizeof(message));
	for (row = 0; row < mci->nr_csrows; row++)
		if (ppc4xx_edac_check_bank_error(status, row))
			edac_mc_handle_ue(mci, page, offset, row, message);
}