On Mon, 12 Sep 2011 18:54:02 +0200 Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: > pci_block_user_cfg_access was designed for the use case that a single > context, the IPR driver, temporarily delays user space accesses to the > config space via sysfs. This assumption became invalid by the time > pci_dev_reset was added as locking instance. Today, if you run two loops > in parallel that reset the same device via sysfs, you end up with a > kernel BUG as pci_block_user_cfg_access detect the broken assumption. > > This reworks the pci_block_user_cfg_access to a sleeping service > pci_cfg_access_lock and an atomic-compatible variant called > pci_cfg_access_trylock. The former not only blocks user space access as > before but also waits if access was already locked. The latter service > just returns false in this case, allowing the caller to resolve the > conflict instead of raising a BUG. > > Adaptions of the ipr driver were originally written by Brian King. Sorry to ask you to refresh these after so long, Jan, but can you respin against my linux-next branch? My inbox is a poor substitute for patchwork, but that's no excuse for leaving you hanging so long. Sorry! Thanks, -- Jesse Barnes, Intel Open Source Technology Center
Attachment:
signature.asc
Description: PGP signature