if (mci->ke)		/* storage key-error uncorrected */ s390_handle_damage("received storage key-error uncorrected " "machine check\n"); 
if (mci->ds && mci->fa) /* Storage degradation */ s390_handle_damage("received storage degradation machine " "check."); 
s390_do_machine_check(void){	struct mci *mci;	mci = (struct mci *) &S390_lowcore.mcck_interruption_code;	if (mci->sd)		/* system damage */		s390_handle_damage("received system damage machine check\n");	if (mci->pd)		/* instruction processing damage */		s390_handle_damage("received instruction processing "				   "damage machine check\n");	if (mci->se)		/* storage error uncorrected */		s390_handle_damage("received storage error uncorrected "				   "machine check\n");	if (mci->sc)		/* storage error corrected */		printk(KERN_WARNING		       "received storage error corrected machine check\n");	if (mci->ke)		/* storage key-error uncorrected */		s390_handle_damage("received storage key-error uncorrected "				   "machine check\n");	if (mci->ds && mci->fa)	/* storage degradation */		s390_handle_damage("received storage degradation machine "				   "check\n");	if (mci->cp)		/* channel report word pending */		up(&m_sem);#ifdef CONFIG_MACHCHK_WARNING/* * The warning may remain for a prolonged period on the bare iron. * (actually till the machine is powered off, or until the problem is gone) * So we just stop listening for the WARNING MCH and prevent continuously * being interrupted.  One caveat is however, that we must do this per * processor and cannot use the smp version of ctl_clear_bit(). * On VM we only get one interrupt per virtally presented machinecheck. * Though one suffices, we may get one interrupt per (virtual) processor. */	if (mci->w) {	/* WARNING pending ? */		static int mchchk_wng_posted = 0;		/*		 * Use single machine clear, as we cannot handle smp right now		 */		__ctl_clear_bit(14, 24);	/* Disable WARNING MCH */		if (xchg(&mchchk_wng_posted, 1) == 0)			kill_proc(1, SIGPWR, 1);	}#endif}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/77fa22450de00d535de2cc8be653983560828000/s390mach.c/buggy/drivers/s390/s390mach.c