diff options
author | Matthew Wilcox <matthew@wil.cx> | 2006-10-04 21:37:41 +0200 |
---|---|---|
committer | Matthew Wilcox <willy@hera.kernel.org> | 2006-10-05 03:48:18 +0200 |
commit | 1070c9655b90016ec4c9b59c402292e57ee15885 (patch) | |
tree | 01024599b8d4f37839dae0d18b8a2d2c71dadb2c /arch | |
parent | [PA-RISC] Fix parisc_newuname() (diff) | |
download | linux-1070c9655b90016ec4c9b59c402292e57ee15885.tar.xz linux-1070c9655b90016ec4c9b59c402292e57ee15885.zip |
[PA-RISC] Fix must_check warnings in drivers.c
Panic if we can't register the parisc bus or the root parisc device.
There's no way we can boot without them, so let the user know ASAP.
If we can't register a parisc device, handle the failure gracefully.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Diffstat (limited to 'arch')
-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) /* make the generic dma mask a pointer to the parisc one */ dev->dev.dma_mask = &dev->dma_mask; dev->dev.coherent_dma_mask = dev->dma_mask; - device_register(&dev->dev); + if (!device_register(&dev->dev)) { + kfree(dev); + return NULL; + } return dev; } @@ -850,8 +853,10 @@ static void print_parisc_device(struct parisc_device *dev) */ void init_parisc_bus(void) { - bus_register(&parisc_bus_type); - device_register(&root); + if (!bus_register(&parisc_bus_type)) + panic("Could not register PA-RISC bus type\n"); + if (!device_register(&root)) + panic("Could not register PA-RISC root device\n"); get_device(&root); } |