Messages in this thread | | | From | Jarod Wilson <> | Subject | Re: [PATCH 4/4 update] firewire: fw-core: react on bus resets while the config ROM is being fetched | Date | Fri, 25 Jan 2008 12:16:35 -0500 |
| |
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 <stefanr@s5r6.in-berlin.de> > --- > > 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 <jwilson@redhat.com>
-- Jarod Wilson jwilson@redhat.com
| |