<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/pci/rom.c, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-15T18:33:29Z</updated>
<entry>
<title>Merge branches 'pci/hotplug' and 'pci/resource' into next</title>
<updated>2016-01-15T18:33:29Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2016-01-15T18:33:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=472358412b93025b13f39e46008af3ed9541ae2b'/>
<id>urn:sha1:472358412b93025b13f39e46008af3ed9541ae2b</id>
<content type='text'>
* pci/hotplug:
  PCI: ibmphp: Remove unneeded NULL test
  PCI: hotplug: Use list_for_each_entry() to simplify code
  PCI: acpiphp_ibm: Fix null dereferences on null ibm_slot

* pci/resource:
  PCI: Avoid iterating through memory outside the resource window
  PCI: Fix minimum allocation address overwrite
</content>
</entry>
<entry>
<title>PCI: Avoid iterating through memory outside the resource window</title>
<updated>2016-01-08T18:16:04Z</updated>
<author>
<name>Edward O'Callaghan</name>
</author>
<published>2016-01-08T18:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47b975d234eac39f3a72e5496d5f6158d8b806d1'/>
<id>urn:sha1:47b975d234eac39f3a72e5496d5f6158d8b806d1</id>
<content type='text'>
If the 'image' pointer has been advanced more than 'size', we've already
iterated through memory outside the resource window.

We have zero control over whatever we find in the option ROM, if it's even
an option ROM and not just an accident of random data just happening to
look like an option ROM.

Signed-off-by: Edward O'Callaghan &lt;eocallaghan@alterapraxis.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Print warnings for all invalid expansion ROM headers</title>
<updated>2015-12-11T01:38:06Z</updated>
<author>
<name>Vladis Dronov</name>
</author>
<published>2015-11-27T17:20:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4066df6345f5b3bacdf7944c4d9a839f1eef5773'/>
<id>urn:sha1:4066df6345f5b3bacdf7944c4d9a839f1eef5773</id>
<content type='text'>
We've always validated that both bytes of the Expansion ROM signature and
all four bytes of the PCI Data Structure signature (see PCI Firmware spec
r3.0, sec 5.1.1), but we only printed a warning if the first byte of the
ROM signature was invalid.

Print warnings if *any* of those bytes are invalid.  Note that we only look
at these headers if we map or read the ROM.

[bhelgaas: changelog, tweak printk format]
Signed-off-by: Vladis Dronov &lt;vdronov@redhat.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Fix infinite loop with ROM image of size 0</title>
<updated>2015-01-23T23:42:59Z</updated>
<author>
<name>Michel Dänzer</name>
</author>
<published>2015-01-19T08:53:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=16b036af31e1456cb69243a5a0c9ef801ecd1f17'/>
<id>urn:sha1:16b036af31e1456cb69243a5a0c9ef801ecd1f17</id>
<content type='text'>
If the image size would ever read as 0, pci_get_rom_size() could keep
processing the same image over and over again.  Exit the loop if we ever
read a length of zero.

This fixes a soft lockup on boot when the radeon driver calls
pci_get_rom_size() on an AMD Radeon R7 250X PCIe discrete graphics card.

[bhelgaas: changelog, reference]
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1386973
Reported-by: Federico &lt;federicotg@gmail.com&gt;
Signed-off-by: Michel Dänzer &lt;michel.daenzer@amd.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
CC: stable@vger.kernel.org</content>
</entry>
<entry>
<title>PCI: Whitespace cleanup</title>
<updated>2014-06-11T02:20:19Z</updated>
<author>
<name>Ryan Desfosses</name>
</author>
<published>2014-04-19T00:13:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c78bc61f5ef3bc87e7f94f67ec737d2273f120b'/>
<id>urn:sha1:3c78bc61f5ef3bc87e7f94f67ec737d2273f120b</id>
<content type='text'>
Fix various whitespace errors.

No functional change.

[bhelgaas: fix other similar problems]
Signed-off-by: Ryan Desfosses &lt;ryan@desfo.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Move EXPORT_SYMBOL so it immediately follows function/variable</title>
<updated>2014-06-10T19:36:10Z</updated>
<author>
<name>Ryan Desfosses</name>
</author>
<published>2014-04-25T20:32:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7fe943421396b61b9f7a97c2554ed999e0f3658'/>
<id>urn:sha1:b7fe943421396b61b9f7a97c2554ed999e0f3658</id>
<content type='text'>
Move EXPORT_SYMBOL so it immediately follows the function or variable.

No functional change.

[bhelgaas: squash similar changes, fix hotplug, probe, rom, search, too]
Signed-off-by: Ryan Desfosses &lt;ryan@desfo.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Mark resources as IORESOURCE_UNSET if we can't assign them</title>
<updated>2014-02-27T17:43:32Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2014-02-26T18:25:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd064f0a231af336218838474ea45a64f1672190'/>
<id>urn:sha1:bd064f0a231af336218838474ea45a64f1672190</id>
<content type='text'>
When assigning addresses to resources, mark them with IORESOURCE_UNSET
before we start and clear IORESOURCE_UNSET if assignment is successful.
That means that if we print the resource during assignment, we will show
the size, not a meaningless address.

Also, clear IORESOURCE_UNSET if we do assign an address, so we print the
address when it is valid.

Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
</content>
</entry>
<entry>
<title>PCI: Convert pcibios_resource_to_bus() to take a pci_bus, not a pci_dev</title>
<updated>2013-12-21T17:06:10Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2013-12-10T06:54:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc2798502f860b18f3c7121e4dc659d3d9d28d74'/>
<id>urn:sha1:fc2798502f860b18f3c7121e4dc659d3d9d28d74</id>
<content type='text'>
These interfaces:

  pcibios_resource_to_bus(struct pci_dev *dev, *bus_region, *resource)
  pcibios_bus_to_resource(struct pci_dev *dev, *resource, *bus_region)

took a pci_dev, but they really depend only on the pci_bus.  And we want to
use them in resource allocation paths where we have the bus but not a
device, so this patch converts them to take the pci_bus instead of the
pci_dev:

  pcibios_resource_to_bus(struct pci_bus *bus, *bus_region, *resource)
  pcibios_bus_to_resource(struct pci_bus *bus, *resource, *bus_region)

In fact, with standard PCI-PCI bridges, they only depend on the host
bridge, because that's the only place address translation occurs, but
we aren't going that far yet.

[bhelgaas: changelog]
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Add PCI ROM helper for platform-provided ROM images</title>
<updated>2013-03-26T23:19:41Z</updated>
<author>
<name>Matthew Garrett</name>
</author>
<published>2013-03-26T21:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fffe01f7a768d07cc50ace71abe28fbf2f786a43'/>
<id>urn:sha1:fffe01f7a768d07cc50ace71abe28fbf2f786a43</id>
<content type='text'>
It turns out that some UEFI systems provide apparently an apparently valid
PCI ROM BAR that turns out to contain garbage, so the attempt in 547b52463
to prefer the ROM from the BAR actually breaks a different set of machines.
As Linus pointed out, the graphics drivers are probably in the best
position to make this judgement, so this basically reverts 547b52463 and
f9a37be0f and adds a new helper function. Followup patches will add support
to nouveau and radeon for probing this ROM source if they can't find a ROM
from some other source.

[bhelgaas: added reporter and bugzilla pointers, s/f4eb5ff05/547b52463]
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=927451
Reference: http://lkml.kernel.org/r/kg69ef$vdb$1@ger.gmane.org
Reported-by: Mantas Mikulėnas &lt;grawity@gmail.com&gt;
Reported-by: Chris Murphy &lt;bugzilla@colorremedies.com&gt;
Signed-off-by: Matthew Garrett &lt;matthew.garrett@nebula.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI: Use ROM images from firmware only if no other ROM source available</title>
<updated>2013-03-19T21:51:14Z</updated>
<author>
<name>Matthew Garrett</name>
</author>
<published>2013-03-19T21:26:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=547b524636249fbe906ab78a50ab0017c490316c'/>
<id>urn:sha1:547b524636249fbe906ab78a50ab0017c490316c</id>
<content type='text'>
Mantas Mikulėnas reported that his graphics hardware failed to
initialise after commit f9a37be0f02a ("x86: Use PCI setup data").

The aim of this commit was to ensure that ROM images were available on
some Apple systems that don't expose the GPU ROM via any other source.
In this case, UEFI appears to have provided a broken ROM image that we
were using even though there was a perfectly valid ROM available via
other sources.  The simplest way to handle this seems to be to just
re-order pci_map_rom() and leave any firmare-supplied ROM to last.

Signed-off-by: Matthew Garrett &lt;matthew.garrett@nebula.com&gt;
Tested-by: Mantas Mikulėnas &lt;grawity@gmail.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
