linux/arch/powerpc
Brian King cd5aeb9f6c powerpc: Fix vio_bus_probe oops on probe error
When CMO is enabled and booted on a non CMO system and the VIO
device's probe function fails, an oops can result since
vio_cmo_bus_remove is called when it should not.  This fixes it by
avoiding the vio_cmo_bus_remove call on platforms that don't implement
CMO.

cpu 0x0: Vector: 300 (Data Access) at [c00000000e13b3d0]
    pc: c000000000020d34: .vio_cmo_bus_remove+0xc0/0x1f4
    lr: c000000000020ca4: .vio_cmo_bus_remove+0x30/0x1f4
    sp: c00000000e13b650
   msr: 8000000000009032
   dar: 0
 dsisr: 40000000
  current = 0xc00000000e0566c0
  paca    = 0xc0000000006f9b80
    pid   = 2428, comm = modprobe
enter ? for help
[c00000000e13b6e0] c000000000021d94 .vio_bus_probe+0x2f8/0x33c
[c00000000e13b7a0] c00000000029fc88 .driver_probe_device+0x13c/0x200
[c00000000e13b830] c00000000029fdac .__driver_attach+0x60/0xa4
[c00000000e13b8c0] c00000000029f050 .bus_for_each_dev+0x80/0xd8
[c00000000e13b980] c00000000029f9ec .driver_attach+0x28/0x40
[c00000000e13ba00] c00000000029f630 .bus_add_driver+0xd4/0x284
[c00000000e13baa0] c0000000002a01bc .driver_register+0xc4/0x198
[c00000000e13bb50] c00000000002168c .vio_register_driver+0x40/0x5c
[c00000000e13bbe0] d0000000003b3f1c .ibmvfc_module_init+0x70/0x109c [ibmvfc]
[c00000000e13bc70] c0000000000acf08 .sys_init_module+0x184c/0x1a10
[c00000000e13be30] c000000000008748 syscall_exit+0x0/0x40

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-08-20 09:50:22 +10:00
..
boot Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-08-11 10:40:28 -07:00
configs powerpc/4xx: Update defconfig files for 2.6.27-rc1 2008-08-06 07:55:37 -04:00
include/asm powerpc: Use generic compat_sys_old_readdir 2008-08-18 14:22:35 +10:00
kernel powerpc: Fix vio_bus_probe oops on probe error 2008-08-20 09:50:22 +10:00
kvm KVM: ppc: fix invalidation of large guest pages 2008-07-27 12:02:05 +03:00
lib powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
math-emu powerpc: Add macros to access floating point registers in thread_struct. 2008-07-01 11:28:43 +10:00
mm powerpc/mm: Fix attribute confusion with htab_bolt_mapping() 2008-08-11 10:09:56 +10:00
oprofile on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
platforms Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge 2008-08-20 09:18:20 +10:00
sysdev powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
xmon Merge branch 'linux-2.6' 2008-06-30 10:16:50 +10:00
Kconfig mm: Make generic weak get_user_pages_fast and EXPORT_GPL it 2008-08-12 17:52:53 +10:00
Kconfig.debug powerpc: Remove use of CONFIG_PPC_MERGE 2008-08-04 13:18:17 +10:00
Makefile powerpc/bootwrapper: Add documentation of boot wrapper targets 2008-07-04 00:59:03 -06:00