lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 137/261] PCI: Dont disable decoding when mmio_always_on is set
    Date
    From: Jiaxun Yang <jiaxun.yang@flygoat.com>

    [ Upstream commit b6caa1d8c80cb71b6162cb1f1ec13aa655026c9f ]

    Don't disable MEM/IO decoding when a device have both non_compliant_bars
    and mmio_always_on.

    That would allow us quirk devices with junk in BARs but can't disable
    their decoding.

    Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
    Acked-by: Bjorn Helgaas <helgaas@kernel.org>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/probe.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
    index d3033873395d..48209d915de3 100644
    --- a/drivers/pci/probe.c
    +++ b/drivers/pci/probe.c
    @@ -1777,7 +1777,7 @@ int pci_setup_device(struct pci_dev *dev)
    /* Device class may be changed after fixup */
    class = dev->class >> 8;

    - if (dev->non_compliant_bars) {
    + if (dev->non_compliant_bars && !dev->mmio_always_on) {
    pci_read_config_word(dev, PCI_COMMAND, &cmd);
    if (cmd & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) {
    pci_info(dev, "device has non-compliant BARs; disabling IO/MEM decoding\n");
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-19 18:05    [W:4.032 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site