On Thu, May 7, 2020 at 5:46 PM Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: > > The patch 92d7223a74235054f2aa7227d207d9c57f84dca0 ("alpha: io: reorder > barriers to guarantee writeX() and iowriteX() ordering #2") broke boot on > the Alpha Avanti platform. > > The patch changes timing between accesses to the ISA bus, in particular, > it reduces the time between "write" access and a subsequent "read" access. > > This causes lock-up when accessing the real time clock and serial ports. > > This patch fixes the bug by adding a memory barrier after the functions > that access the ISA ports - outb, outw, outl. The barrier causes that > there is some delay between the write to an IO port and a subsequent read. Based on your earlier explanations, I would mention here that the barrier avoids the back-to-back I/O instructions on the bus that seem to be causing the problem. As I understand it (having very little alpha specific knowledge), they should prevent them by design. However if you are sure it's just the added delay rather than any actual barrier effect, that would also be worth pointing out. > Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > Fixes: 92d7223a7423 ("alpha: io: reorder barriers to guarantee writeX() and iowriteX() ordering #2") > Cc: stable@xxxxxxxxxxxxxxx # v4.17+ With or without any further clarification Acked-by: Arnd Bergmann <arnd@xxxxxxxx>