On Tue, Dec 23, 2008 at 03:08:29AM +0000, Ben Hutchings wrote: > During an online device reset it may be useful to disable bus-mastering. > pci_disable_device() does that, and far more besides, so is not suitable > for an online reset. > > Add pci_clear_master() which does just this. Looks kosher to me. I checked all the architecture implementations of pcibios_set_master() and didn't find anything that looked like it needed to be undone when clearing the busmaster bit. They're either: a) Empty b) Setting the latency value to a minimum value c) Reading the latency value, then writing it back, thus effectively a no-op (CRIS, I'm looking at you) d) Doing something weird that makes no sense at all (arch/mips/pmc-sierra/yosemite/ht.c), but fortunately appears to be an orphaned function. (it's not called pcibios_set_master(), it's got a titan_ prepended to it ... and it's static ... and it's not called within this file ... and I can't find any macro trickery that will call it. So I think it's dead). Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- 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