On Wednesday 24 September 2008 14:01:54 Yang, Sheng wrote: > On Wednesday 24 September 2008 12:34:30 Matthew Wilcox wrote: [...] > > This implementation note also says, "Software that's performing > > the FLR synchronizes with other software that might potentially access > > the Function directly, and ensures such accesses do not occur during > > this algorithm." > > > > If we have a shared interrupt and the device being reset still has a > > handler attached, it's entirely possible that another device will > > generate an interrupt and cause the interrupt handler for this device to > > try to access the device during the FLR. > > > > We could fix this by temporarily unregistering the interrupt handler for > > this device, or calling disable_irq(). > > I think unregister interrupt handler is better, after we set the interrupt > disable bit in control register. Oops... Realize if unregister/register irqaction is big enough for another patch for generic usage, and another way to check-in. I want to keep the thing simple at first, so I'd like to use disable_irq() first and optimize it late if necessary, at least FLR won't happen that frequently... -- regards Yang, Sheng -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html