The STM32 doesn't care if the IRQ line gets deasserted.  Once we are in here.  For the record though, it does clear the flags.  We also have always had a flag enabled which means that reading _any_ register will clear the interrupt status which is why this is the first read.  With this call in place we could even drop that requirement.