Stefan Richter wrote: > read_rom() obtained a fresh new fw_device.generation for each read > transaction. Hence it was able to continue reading in the middle of the > ROM even if a bus reset happened. However the device may have modified > the ROM during the reset. We would end up with a corrupt fetched ROM > image then. > > Although all of this is quite unlikely, it is not impossible. > Therefore we now restart reading the ROM if the bus generation changed. > > Side note: The barrier in read_rom(), inserted by patch "firewire: > enforce access order between generation and node ID" is not necessary > anymore because the sequence of calls > fw_device_init() -> > read_bus_info_block() -> > read_rom() > read_rom() > read_rom() > ... > will take care that generation is read before node_id, won't it? > > Signed-off-by: Stefan Richter <[EMAIL PROTECTED]>
Based on a quick read through the code path, coupled with empirical evidence, yes, it appears safe to remove the barrier in read_rom(). Signed-off-by: Jarod Wilson <[EMAIL PROTECTED]> -- Jarod Wilson [EMAIL PROTECTED] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/