Re: [S390] Fix reboot hang on LPARs

2006-12-16 Thread Martin Schwidefsky
On Fri, 2006-12-15 at 22:15 +0100, Heiko Carstens wrote: > This is broken. pgm_check_occured must be volatile, otherwise the -EIO path > in stsch_reset might get optimized away. That is true, good spotting. Only adding a "volatile" in not the right solution. The point here is that the stsch inline

Re: [S390] Fix reboot hang on LPARs

2006-12-15 Thread Heiko Carstens
> +static int pgm_check_occured; > + > +static void cio_reset_pgm_check_handler(void) > +{ > + pgm_check_occured = 1; > +} > + > +static int stsch_reset(struct subchannel_id schid, volatile struct schib > *addr) > +{ > + int rc; > + > + pgm_check_occured = 0; > + s390_reset_pgm_han