Revert "PCI/MSI: Protect msi_desc::masked for multi-MSI"

This reverts commit 312730cd15 which is
commit 77e89afc25f30abd56e76a809ee2884d7c1b63ce upstream.

It breaks the Android KABI and is not needed for any current Android
hardware devices, so can be safely reverted.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If4d9769c8cbfca6872c9a745fec8ab28bc39199e
This commit is contained in:
Greg Kroah-Hartman 2021-08-27 16:28:41 +02:00
parent b558262fdc
commit 63aa0473df
4 changed files with 10 additions and 13 deletions

View File

@ -2730,7 +2730,6 @@ void device_initialize(struct device *dev)
device_pm_init(dev);
set_dev_node(dev, -1);
#ifdef CONFIG_GENERIC_MSI_IRQ
raw_spin_lock_init(&dev->msi_lock);
INIT_LIST_HEAD(&dev->msi_list);
#endif
INIT_LIST_HEAD(&dev->links.consumers);

View File

@ -171,25 +171,24 @@ static inline __attribute_const__ u32 msi_mask(unsigned x)
* reliably as devices without an INTx disable bit will then generate a
* level IRQ which will never be cleared.
*/
void __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
u32 __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
{
raw_spinlock_t *lock = &desc->dev->msi_lock;
unsigned long flags;
u32 mask_bits = desc->masked;
if (pci_msi_ignore_mask || !desc->msi_attrib.maskbit)
return;
return 0;
raw_spin_lock_irqsave(lock, flags);
desc->masked &= ~mask;
desc->masked |= flag;
mask_bits &= ~mask;
mask_bits |= flag;
pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->mask_pos,
desc->masked);
raw_spin_unlock_irqrestore(lock, flags);
mask_bits);
return mask_bits;
}
static void msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag)
{
__pci_msi_desc_mask_irq(desc, mask, flag);
desc->masked = __pci_msi_desc_mask_irq(desc, mask, flag);
}
static void __iomem *pci_msix_desc_addr(struct msi_desc *desc)

View File

@ -494,7 +494,6 @@ struct device {
struct dev_pin_info *pins;
#endif
#ifdef CONFIG_GENERIC_MSI_IRQ
raw_spinlock_t msi_lock;
struct list_head msi_list;
#endif
#ifdef CONFIG_DMA_OPS

View File

@ -194,7 +194,7 @@ void __pci_read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
u32 __pci_msix_desc_mask_irq(struct msi_desc *desc, u32 flag);
void __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
u32 __pci_msi_desc_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
void pci_msi_mask_irq(struct irq_data *data);
void pci_msi_unmask_irq(struct irq_data *data);