diff options
| -rw-r--r-- | arch/parisc/kernel/drivers.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c index 3d569a485a1a..2b257e4f17df 100644 --- a/arch/parisc/kernel/drivers.c +++ b/arch/parisc/kernel/drivers.c | |||
| @@ -424,7 +424,10 @@ struct parisc_device * create_tree_node(char id, struct device *parent) | |||
| 424 | /* make the generic dma mask a pointer to the parisc one */ | 424 | /* make the generic dma mask a pointer to the parisc one */ |
| 425 | dev->dev.dma_mask = &dev->dma_mask; | 425 | dev->dev.dma_mask = &dev->dma_mask; |
| 426 | dev->dev.coherent_dma_mask = dev->dma_mask; | 426 | dev->dev.coherent_dma_mask = dev->dma_mask; |
| 427 | device_register(&dev->dev); | 427 | if (!device_register(&dev->dev)) { |
| 428 | kfree(dev); | ||
| 429 | return NULL; | ||
| 430 | } | ||
| 428 | 431 | ||
| 429 | return dev; | 432 | return dev; |
| 430 | } | 433 | } |
| @@ -850,8 +853,10 @@ static void print_parisc_device(struct parisc_device *dev) | |||
| 850 | */ | 853 | */ |
| 851 | void init_parisc_bus(void) | 854 | void init_parisc_bus(void) |
| 852 | { | 855 | { |
| 853 | bus_register(&parisc_bus_type); | 856 | if (!bus_register(&parisc_bus_type)) |
| 854 | device_register(&root); | 857 | panic("Could not register PA-RISC bus type\n"); |
| 858 | if (!device_register(&root)) | ||
| 859 | panic("Could not register PA-RISC root device\n"); | ||
| 855 | get_device(&root); | 860 | get_device(&root); |
| 856 | } | 861 | } |
| 857 | 862 | ||
