<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/pci/hotplug/cpqphp_core.c, branch v3.0.62</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/pci/hotplug/cpqphp_core.c?h=v3.0.62</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/pci/hotplug/cpqphp_core.c?h=v3.0.62'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-06-11T20:10:21Z</updated>
<entry>
<title>PCI: hotplug/cpqphp, fix NULL dereference</title>
<updated>2010-06-11T20:10:21Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2010-06-09T20:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a7ef7d1f5e898984c479e8c41ca702141bbadc78'/>
<id>urn:sha1:a7ef7d1f5e898984c479e8c41ca702141bbadc78</id>
<content type='text'>
There are devices out there which are PCI Hot-plug controllers with
compaq PCI IDs, but are not bridges, hence have pdev-&gt;subordinate
NULL. But cpqphp expects the pointer to be non-NULL.

Add a check to the probe function to avoid oopses like:
BUG: unable to handle kernel NULL pointer dereference at 00000050
IP: [&lt;f82e3c41&gt;] cpqhpc_probe+0x951/0x1120 [cpqphp]
*pdpt = 0000000033779001 *pde = 0000000000000000
...

The device here was:
00:0b.0 PCI Hot-plug controller [0804]: Compaq Computer Corporation PCI Hotplug Controller [0e11:a0f7] (rev 11)
	Subsystem: Compaq Computer Corporation Device [0e11:a2f8]

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6</title>
<updated>2010-05-22T01:58:52Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-05-22T01:58:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6109e2ce2600e2db26cd0424bb9c6ed019723288'/>
<id>urn:sha1:6109e2ce2600e2db26cd0424bb9c6ed019723288</id>
<content type='text'>
* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (36 commits)
  PCI: hotplug: pciehp: Removed check for hotplug of display devices
  PCI: read memory ranges out of Broadcom CNB20LE host bridge
  PCI: Allow manual resource allocation for PCI hotplug bridges
  x86/PCI: make ACPI MCFG reserved error messages ACPI specific
  PCI hotplug: Use kmemdup
  PM/PCI: Update PCI power management documentation
  PCI: output FW warning in pci_read/write_vpd
  PCI: fix typos pci_device_dis/enable to pci_dis/enable_device in comments
  PCI quirks: disable msi on AMD rs4xx internal gfx bridges
  PCI: Disable MSI for MCP55 on P5N32-E SLI
  x86/PCI: irq and pci_ids patch for additional Intel Cougar Point DeviceIDs
  PCI: aerdrv: trivial cleanup for aerdrv_core.c
  PCI: aerdrv: trivial cleanup for aerdrv.c
  PCI: aerdrv: introduce default_downstream_reset_link
  PCI: aerdrv: rework find_aer_service
  PCI: aerdrv: remove is_downstream
  PCI: aerdrv: remove magical ROOT_ERR_STATUS_MASKS
  PCI: aerdrv: redefine PCI_ERR_ROOT_*_SRC
  PCI: aerdrv: rework do_recovery
  PCI: aerdrv: rework get_e_source()
  ...
</content>
</entry>
<entry>
<title>PCI hotplug: Use kmemdup</title>
<updated>2010-05-18T22:02:09Z</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2010-05-15T21:18:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f6bce3c4f48bd79b57d6ac9f337f5aabee43ea7'/>
<id>urn:sha1:8f6bce3c4f48bd79b57d6ac9f337f5aabee43ea7</id>
<content type='text'>
Use kmemdup when some other buffer is immediately copied into the
allocated region.

A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
expression from,to,size,flag;
statement S;
@@

-  to = \(kmalloc\|kzalloc\)(size,flag);
+  to = kmemdup(from,size,flag);
   if (to==NULL || ...) S
-  memcpy(to, from, size);
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>Fix typos in comments</title>
<updated>2010-03-16T10:47:56Z</updated>
<author>
<name>Thomas Weber</name>
<email>swirl@gmx.li</email>
</author>
<published>2010-03-16T10:47:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=88393161210493e317ae391696ee8ef463cb3c23'/>
<id>urn:sha1:88393161210493e317ae391696ee8ef463cb3c23</id>
<content type='text'>
[Ss]ytem =&gt; [Ss]ystem
udpate =&gt; update
paramters =&gt; parameters
orginal =&gt; original

Signed-off-by: Thomas Weber &lt;swirl@gmx.li&gt;
Acked-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>PCI: Make current and maximum bus speeds part of the PCI core</title>
<updated>2010-02-23T00:15:17Z</updated>
<author>
<name>Matthew Wilcox</name>
<email>matthew@wil.cx</email>
</author>
<published>2009-12-13T13:11:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3749c51ac6c1560aa1cb1520066bed84c6f8152a'/>
<id>urn:sha1:3749c51ac6c1560aa1cb1520066bed84c6f8152a</id>
<content type='text'>
Move the max_bus_speed and cur_bus_speed into the pci_bus.  Expose the
values through the PCI slot driver instead of the hotplug slot driver.
Update all the hotplug drivers to use the pci_bus instead of their own
data structures.

Signed-off-by: Matthew Wilcox &lt;willy@linux.intel.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI hotplug: remove redundant .owner initializations</title>
<updated>2009-06-16T21:30:12Z</updated>
<author>
<name>Kenji Kaneshige</name>
<email>kaneshige.kenji@jp.fujitsu.com</email>
</author>
<published>2009-06-16T02:02:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a6c0d5c6ebb3d988b1f18a1612b5188f3f555637'/>
<id>urn:sha1:a6c0d5c6ebb3d988b1f18a1612b5188f3f555637</id>
<content type='text'>
The "owner" field in struct hotplug_slot_ops is initialized by PCI
hotplug core. So each hotplug controller driver doesn't need to
initialize it.

Signed-off-by: Kenji Kaneshige &lt;kaneshige.kenji@jp.fujitsu.com&gt;
Reviewed-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI Hotplug: cpqphp: clean up accesses to pcibios_get_irq_routing_table()</title>
<updated>2009-06-11T19:04:14Z</updated>
<author>
<name>Alex Chiang</name>
<email>achiang@hp.com</email>
</author>
<published>2009-03-31T15:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b019ee679afde950f2d01b1af0530453aa60af3f'/>
<id>urn:sha1:b019ee679afde950f2d01b1af0530453aa60af3f</id>
<content type='text'>
Instead of making multiple calls to pcibios_get_irq_routing_table, let's
just do it once and save the answer.

The reason we were making multiple calls is because we liked to calculate
its length and perform some loop over it. Instead of open-coding the length
calculation every time, provide it in an inline helper function.

Finally, since pci_print_IRQ_route() is used only for debug, let's only
do it when cpqhp_debug is set.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI Hotplug: cpqphp: refactor cpqhp_probe</title>
<updated>2009-06-11T19:04:11Z</updated>
<author>
<name>Alex Chiang</name>
<email>achiang@hp.com</email>
</author>
<published>2009-03-31T15:23:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=867556fe740d0d29a05fce99d2d960625077ed45'/>
<id>urn:sha1:867556fe740d0d29a05fce99d2d960625077ed45</id>
<content type='text'>
Apply DeMorgan's theorem:

	if ((pdev-&gt;revision &gt; 2) || (vendor_id == PCI_VENDOR_ID_INTEL))

turns into

	if ((pdev-&gt;revision &lt;= 2) &amp;&amp; (vendor_id != PCI_VENDOR_ID_INTEL))

Now we can bail out early from the function if the controller is not
supported.

This allows us to un-indent the remainder of the function quite a bit and
make it much more readable.

Fix up some extra braces, and un-indent the 'case' labels in the switch
statement as per CodingStyle.

No functional change.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI Hotplug: cpqphp: eliminate stray braces</title>
<updated>2009-06-11T19:04:10Z</updated>
<author>
<name>Alex Chiang</name>
<email>achiang@hp.com</email>
</author>
<published>2009-03-31T15:23:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=04225fe7e6877493765b9cfa3092524e21e020d7'/>
<id>urn:sha1:04225fe7e6877493765b9cfa3092524e21e020d7</id>
<content type='text'>
Clean up style and eliminate superfluous braces and parens.

No functional change.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>PCI Hotplug: cpqphp: remove useless prototypes in cpqphp_core.c</title>
<updated>2009-06-11T19:04:09Z</updated>
<author>
<name>Alex Chiang</name>
<email>achiang@hp.com</email>
</author>
<published>2009-03-31T15:23:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b4d897a48d451db0ab6a4ebf8c28eb314eba0280'/>
<id>urn:sha1:b4d897a48d451db0ab6a4ebf8c28eb314eba0280</id>
<content type='text'>
Impact: refactor

Refactor code to follow convention more closely and eliminate the need
for some useless prototypes.

No functional change.

Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
</feed>
