On Fri, 2022-03-11 at 18:38 +0100, Eric Farman wrote: > In the routine test_stop_store_status(), the "running" part of > the test checks a few of the fields in lowcore (to verify the > "STORE STATUS" part of the SIGP order), and then ensures that > the CPU has stopped. But this is backwards, according to the > Principles of Operation: > The addressed CPU performs the stop function, fol- > lowed by the store-status operation (see “Store Sta- > tus” on page 4-82). > > If the CPU were not yet stopped, the contents of the lowcore > fields would be unpredictable. It works today because the > library functions wait on the stop function, so the CPU is > stopped by the time it comes back. Let's first check that the > CPU is stopped first, just to be clear. > > While here, add the same check to the second part of the test, > even though the CPU is explicitly stopped prior to the SIGP. > > Fixes: fc67b07a4 ("s390x: smp: Test stop and store status on a > running and stopped cpu") > Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxx> Reviewed-by: Nico Boehr <nrb@xxxxxxxxxxxxx>