wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset

commit 09d4d6da1b upstream.

When the BIOS has been configured for Fast Boot, systems with mt7921e
have non-functional wifi.  Turning on Fast boot caused both bus master
enable and memory space enable bits in PCI_COMMAND not to get configured.

The mt7921 driver already sets bus master enable, but explicitly check
and set memory access enable as well to fix this problem.

Tested-by: Anson Tsao <anson.tsao@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Mario Limonciello 2023-03-29 14:57:58 -05:00 committed by Greg Kroah-Hartman
parent 24d158856c
commit f66cd99959

View file

@ -256,6 +256,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
struct mt7921_dev *dev;
struct mt76_dev *mdev;
int ret;
u16 cmd;
ret = pcim_enable_device(pdev);
if (ret)
@ -265,6 +266,11 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
if (ret)
return ret;
pci_read_config_word(pdev, PCI_COMMAND, &cmd);
if (!(cmd & PCI_COMMAND_MEMORY)) {
cmd |= PCI_COMMAND_MEMORY;
pci_write_config_word(pdev, PCI_COMMAND, cmd);
}
pci_set_master(pdev);
ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);