# --- T2-COPYRIGHT-NOTE-BEGIN --- # T2 SDE: package/*/linux/hotfix-sgi-crime-printk-cont.patch # Copyright (C) 2024 The T2 SDE Project # # This Copyright note is generated by scripts/Create-CopyPatch, # more information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License version 2 as used by the T2 SDE. # --- T2-COPYRIGHT-NOTE-END --- Since Linus Torvalds reinstaded KERN_CONT in commit 4bcc595 in 2015, the qla1280 scsi driver printed a rather ugly and screen real estate wasting status during boot. Fix by adding KERN_CONT as needed. --- linux-6.6/arch/mips/sgi-ip32/crime.c.vanilla 2024-01-07 13:51:46.874730485 +0100 +++ linux-6.6/arch/mips/sgi-ip32/crime.c 2024-01-07 14:43:44.797075007 +0100 @@ -47,45 +47,45 @@ stat = crime->mem_error_stat & CRIME_MEM_ERROR_STAT_MASK; addr = crime->mem_error_addr & CRIME_MEM_ERROR_ADDR_MASK; - printk("CRIME memory error at 0x%08lx ST 0x%08lx<", addr, stat); + printk("CRIME memory error at 0x%08lx status 0x%08lx<", addr, stat); if (stat & CRIME_MEM_ERROR_INV) - printk("INV,"); + printk(KERN_CONT "INV,"); if (stat & CRIME_MEM_ERROR_ECC) { unsigned long ecc_syn = crime->mem_ecc_syn & CRIME_MEM_ERROR_ECC_SYN_MASK; unsigned long ecc_gen = crime->mem_ecc_chk & CRIME_MEM_ERROR_ECC_CHK_MASK; - printk("ECC,SYN=0x%08lx,GEN=0x%08lx,", ecc_syn, ecc_gen); + printk(KERN_CONT "ECC,SYN=0x%08lx,GEN=0x%08lx,", ecc_syn, ecc_gen); } if (stat & CRIME_MEM_ERROR_MULTIPLE) { fatal = 1; - printk("MULTIPLE,"); + printk(KERN_CONT "MULTIPLE,"); } if (stat & CRIME_MEM_ERROR_HARD_ERR) { fatal = 1; - printk("HARD,"); + printk(KERN_CONT "HARD,"); } if (stat & CRIME_MEM_ERROR_SOFT_ERR) - printk("SOFT,"); + printk(KERN_CONT "SOFT,"); if (stat & CRIME_MEM_ERROR_CPU_ACCESS) - printk("CPU,"); + printk(KERN_CONT "CPU,"); if (stat & CRIME_MEM_ERROR_VICE_ACCESS) - printk("VICE,"); + printk(KERN_CONT "VICE,"); if (stat & CRIME_MEM_ERROR_GBE_ACCESS) - printk("GBE,"); + printk(KERN_CONT "GBE,"); if (stat & CRIME_MEM_ERROR_RE_ACCESS) - printk("RE,REID=0x%02lx,", (stat & CRIME_MEM_ERROR_RE_ID)>>8); + printk(KERN_CONT "RE,REID=0x%02lx,", (stat & CRIME_MEM_ERROR_RE_ID)>>8); if (stat & CRIME_MEM_ERROR_MACE_ACCESS) - printk("MACE,MACEID=0x%02lx,", stat & CRIME_MEM_ERROR_MACE_ID); + printk(KERN_CONT "MACE,MACEID=0x%02lx,", stat & CRIME_MEM_ERROR_MACE_ID); crime->mem_error_stat = 0; if (fatal) { - printk("FATAL>\n"); + printk(KERN_CONT "FATAL>\n"); panic("Fatal memory error."); } else - printk("NONFATAL>\n"); + printk(KERN_CONT "NONFATAL>\n"); return IRQ_HANDLED; }