linux/drivers/base
Dave Young f48f3febb2 driver-core: do not register a driver with bus_type not registered
If the bus_type is not registerd, driver_register to that bus will cause oops.

I found this bug when test built-in usb serial drivers (ie. aircable driver)
with 'nousb' cmdline params.

In this patch:
1. set the bus->p=NULL when bus_register failed and unregisterd.
2. if bus->p is NULL, driver_register BUG_ON will be triggered.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-03-24 16:38:25 -07:00
..
power PM: Split up sysdev_[suspend|resume] from device_power_[down|up] 2009-02-22 10:33:44 -08:00
attribute_container.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
base.h driver core: check bus->match without holding device lock 2009-03-24 16:38:24 -07:00
bus.c driver-core: do not register a driver with bus_type not registered 2009-03-24 16:38:25 -07:00
class.c driver-core: use klist for class device list and implement iterator 2008-10-09 08:56:04 +02:00
core.c driver core: get rid of struct device's bus_id string array 2009-03-24 16:38:23 -07:00
cpu.c cpumask: fix compile error when CONFIG_NR_CPUS is not defined 2009-01-03 19:15:41 +01:00
dd.c driver core: check bus->match without holding device lock 2009-03-24 16:38:24 -07:00
devres.c
dma-mapping.c
driver.c driver-core: do not register a driver with bus_type not registered 2009-03-24 16:38:25 -07:00
firmware_class.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
firmware.c firmware: change firmware_kset to firmware_kobj 2008-01-24 20:40:23 -08:00
hypervisor.c kobject: convert /sys/hypervisor to use kobject_create 2008-01-24 20:40:15 -08:00
init.c Driver core: coding style fixes 2008-01-24 22:50:12 -08:00
iommu.c add frontend implementation for the IOMMU API 2009-01-03 14:10:09 +01:00
isa.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
Kconfig trivial: Fix misspelled firmware in Kconfig 2009-01-06 11:28:07 +01:00
Makefile select IOMMU_API when DMAR and/or AMD_IOMMU is selected 2009-01-03 14:10:09 +01:00
map.c
memory.c mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
module.c Driver core: move the static kobject out of struct driver 2008-01-24 20:40:35 -08:00
node.c mm: get_nid_for_pfn() returns int 2009-03-10 15:55:10 -07:00
platform.c platform: introduce module id table for platform devices 2009-03-24 16:38:24 -07:00
sys.c PM: Split up sysdev_[suspend|resume] from device_power_[down|up], fix 2009-02-22 22:09:33 +01:00
topology.c topology: Fix sparc64 build. 2009-01-07 15:34:47 -08:00
transport_class.c SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00