On Friday 25 January 2008 11:53:49 am 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. > > Note, the memory barrier in read_rom() is still necessary according to > tests by Jarod Wilson, despite of the ->generation access being moved up > in the call chain. > > Signed-off-by: Stefan Richter <[EMAIL PROTECTED]> > --- > > First posted on 2007-11-01. Update: Barrier stays.
This is essentially what I've been beating on locally, and I've yet to hit another config rom read failure with it. 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/

