> From: Ira Weiny <ira.weiny@xxxxxxxxx> > ... > > @@ -423,25 +399,13 @@ struct pci_doe_mb > *pcim_doe_create_mb(struct pci_dev *pdev, u16 cap_offset) > doe_mb->pdev = pdev; > doe_mb->cap_offset = cap_offset; > init_waitqueue_head(&doe_mb->wq); > + mutex_init(&doe_mb->exec_lock); In real world, not sure whether there is a case that pcim_doe_create_mb() is invoked by multiple drivers to create multiple DOE mailbox instances? If there is such a case, we may need to ensure there is only one DOE mailbox instance for a physical DOE of pdev @cap_offset. -Qiuxu