<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/pci/pcie, branch v3.7</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=v3.7</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=v3.7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2012-11-05T23:59:59+00:00</updated>
<entry>
<title>PCI/portdrv: Don't create hotplug slots unless port supports hotplug</title>
<updated>2012-11-05T23:59:59+00:00</updated>
<author>
<name>Taku Izumi</name>
<email>izumi.taku@jp.fujitsu.com</email>
</author>
<published>2012-10-31T00:51:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=ff8e59bc4ec3f31789a47dce9b6fe44bd7bc5fcc'/>
<id>urn:sha1:ff8e59bc4ec3f31789a47dce9b6fe44bd7bc5fcc</id>
<content type='text'>
Commit 2dcfaf85 mistakenly dropped the "flags &amp; PCI_EXP_FLAGS_SLOT" test,
so now we create hotplug slots even for PCIe port devices that don't
support hotplug.  This patch fixes this problem.

[bhelgaas: changelog]
Signed-off-by: Taku Izumi &lt;izumi.taku@jp.fujitsu.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Reviewed-by: Jiang Liu &lt;jiang.liu@huawei.com&gt;</content>
</entry>
<entry>
<title>PCI/PM: Fix deadlock when unbinding device if parent in D3cold</title>
<updated>2012-11-02T16:07:17+00:00</updated>
<author>
<name>Huang Ying</name>
<email>ying.huang@intel.com</email>
</author>
<published>2012-10-24T06:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=90b5c1d7c45eeb622302680ff96ed30c1a2b6f0e'/>
<id>urn:sha1:90b5c1d7c45eeb622302680ff96ed30c1a2b6f0e</id>
<content type='text'>
If a PCI device and its parents are put into D3cold, unbinding the
device will trigger deadlock as follow:

- driver_unbind
  - device_release_driver
    - device_lock(dev)				&lt;--- previous lock here
    - __device_release_driver
      - pm_runtime_get_sync
        ...
          - rpm_resume(dev)
            - rpm_resume(dev-&gt;parent)
              ...
                - pci_pm_runtime_resume
                  ...
                  - pci_set_power_state
                    - __pci_start_power_transition
                      - pci_wakeup_bus(dev-&gt;parent-&gt;subordinate)
                        - pci_walk_bus
                          - device_lock(dev)	&lt;--- deadlock here


If we do not do device_lock in pci_walk_bus, we can avoid deadlock.
Device_lock in pci_walk_bus is introduced in commit:
d71374dafbba7ec3f67371d3b7e9f6310a588808, corresponding email thread
is: https://lkml.org/lkml/2006/5/26/38.  The patch author Zhang Yanmin
said device_lock is added to pci_walk_bus because:

  Some error handling functions call pci_walk_bus. For example, PCIe
  aer. Here we lock the device, so the driver wouldn't detach from the
  device, as the cb might call driver's callback function.

So I fixed the deadlock as follows:

- remove device_lock from pci_walk_bus
- add device_lock into callback if callback will call driver's callback

I checked pci_walk_bus users one by one, and found only PCIe aer needs
device lock.

Signed-off-by: Huang Ying &lt;ying.huang@intel.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
CC: stable@vger.kernel.org		# v3.6+
CC: Zhang Yanmin &lt;yanmin.zhang@intel.com&gt;</content>
</entry>
<entry>
<title>Merge branch 'pci/trivial' into next</title>
<updated>2012-09-13T15:08:02+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2012-09-13T15:08:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6dabee73d46bfafb8c588b21b14606914de97ee6'/>
<id>urn:sha1:6dabee73d46bfafb8c588b21b14606914de97ee6</id>
<content type='text'>
* pci/trivial:
  PCI: Drop duplicate const in DECLARE_PCI_FIXUP_SECTION
  PCI: Drop bogus default from ARCH_SUPPORTS_MSI
  PCI: cpqphp: Remove unreachable path
  PCI: Remove bus number resource debug messages
  PCI/AER: Print completion message at KERN_INFO to match starting message
  PCI: Fix drivers/pci/pci.c kernel-doc warnings
</content>
</entry>
<entry>
<title>Merge commit 'v3.6-rc5' into next</title>
<updated>2012-09-13T14:41:01+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2012-09-13T14:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=78890b5989d96ddce989cde929c45ceeded0fcaf'/>
<id>urn:sha1:78890b5989d96ddce989cde929c45ceeded0fcaf</id>
<content type='text'>
* commit 'v3.6-rc5': (1098 commits)
  Linux 3.6-rc5
  HID: tpkbd: work even if the new Lenovo Keyboard driver is not configured
  Remove user-triggerable BUG from mpol_to_str
  xen/pciback: Fix proper FLR steps.
  uml: fix compile error in deliver_alarm()
  dj: memory scribble in logi_dj
  Fix order of arguments to compat_put_time[spec|val]
  xen: Use correct masking in xen_swiotlb_alloc_coherent.
  xen: fix logical error in tlb flushing
  xen/p2m: Fix one-off error in checking the P2M tree directory.
  powerpc: Don't use __put_user() in patch_instruction
  powerpc: Make sure IPI handlers see data written by IPI senders
  powerpc: Restore correct DSCR in context switch
  powerpc: Fix DSCR inheritance in copy_thread()
  powerpc: Keep thread.dscr and thread.dscr_inherit in sync
  powerpc: Update DSCR on all CPUs when writing sysfs dscr_default
  powerpc/powernv: Always go into nap mode when CPU is offline
  powerpc: Give hypervisor decrementer interrupts their own handler
  powerpc/vphn: Fix arch_update_cpu_topology() return value
  ARM: gemini: fix the gemini build
  ...

Conflicts:
	drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
	drivers/rapidio/devices/tsi721.c
</content>
</entry>
<entry>
<title>Merge branch 'pci/stephen-const' into next</title>
<updated>2012-09-12T19:54:10+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2012-09-12T19:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1959ec5f82acbdf91425b41600f119ebecb5f6a8'/>
<id>urn:sha1:1959ec5f82acbdf91425b41600f119ebecb5f6a8</id>
<content type='text'>
* pci/stephen-const:
  make drivers with pci error handlers const
  scsi: make pci error handlers const
  netdev: make pci_error_handlers const
  PCI: Make pci_error_handlers const
</content>
</entry>
<entry>
<title>Merge branch 'pci/shengzhou-irq' into next</title>
<updated>2012-09-10T22:35:40+00:00</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bhelgaas@google.com</email>
</author>
<published>2012-09-10T22:35:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a690a4cbf09f70723f9721ca96ab8b2b472b3391'/>
<id>urn:sha1:a690a4cbf09f70723f9721ca96ab8b2b472b3391</id>
<content type='text'>
* pci/shengzhou-irq:
  PCI: Use dev-&gt;irq instead of dev-&gt;pin to enable non MSI/INTx interrupt
</content>
</entry>
<entry>
<title>PCI: Make pci_error_handlers const</title>
<updated>2012-09-07T22:24:59+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2012-09-07T16:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=494530284f16298050ab99f54b7b12dd7d1418a1'/>
<id>urn:sha1:494530284f16298050ab99f54b7b12dd7d1418a1</id>
<content type='text'>
Since pci_error_handlers is just a function table make it const.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Linas Vepstas &lt;linasvepstas@gmail.com&gt;</content>
</entry>
<entry>
<title>PCI: Use dev-&gt;irq instead of dev-&gt;pin to enable non MSI/INTx interrupt</title>
<updated>2012-09-07T21:40:31+00:00</updated>
<author>
<name>Shengzhou Liu</name>
<email>Shengzhou.Liu@freescale.com</email>
</author>
<published>2012-07-18T06:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=e237d83fdf0313d26af46f41b69b3b87d62669c0'/>
<id>urn:sha1:e237d83fdf0313d26af46f41b69b3b87d62669c0</id>
<content type='text'>
On some platforms, root port has neither MSI/MSI-X nor INTx interrupt
generated in RC mode. In this case, we have to use other interrupt, e.g.,
system shared interrupt, for port service IRQ to have AER, Hot-plug, etc.,
services work.

Signed-off-by: Shengzhou Liu &lt;Shengzhou.Liu@freescale.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
<entry>
<title>PCI/AER: Print completion message at KERN_INFO to match starting message</title>
<updated>2012-08-24T20:44:05+00:00</updated>
<author>
<name>Lance Ortiz</name>
<email>lance.ortiz@hp.com</email>
</author>
<published>2012-08-24T20:44:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=be5ac3d3c11dea5b073555fba7cc59808bd2a286'/>
<id>urn:sha1:be5ac3d3c11dea5b073555fba7cc59808bd2a286</id>
<content type='text'>
The completion message in do_recovery() is currently KERN_DEBUG,
while the starting message in aer_print_port_info() is KERN_INFO.
This changes the completion message to KERN_INFO to match the
starting message.

[bhelgaas: changelog, use dev_info() instead of dev_printk(KERN_INFO)]
Signed-off-by: Lance Ortiz &lt;lance.ortiz@hp.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
</content>
</entry>
<entry>
<title>PCI/ASPM: Use PCI Express Capability accessors</title>
<updated>2012-08-23T16:11:12+00:00</updated>
<author>
<name>Jiang Liu</name>
<email>jiang.liu@huawei.com</email>
</author>
<published>2012-07-24T09:20:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f12eb72a268ba57d23fa5afd987210521cfe73e6'/>
<id>urn:sha1:f12eb72a268ba57d23fa5afd987210521cfe73e6</id>
<content type='text'>
Use PCI Express Capability access functions to simplify PCIe ASPM.

Signed-off-by: Jiang Liu &lt;jiang.liu@huawei.com&gt;
Signed-off-by: Yijing Wang &lt;wangyijing@huawei.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;</content>
</entry>
</feed>
