summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2006-10-04 13:37:41 -0600
committerMatthew Wilcox <willy@hera.kernel.org>2006-10-05 01:48:18 +0000
commit1070c9655b90016ec4c9b59c402292e57ee15885 (patch)
tree01024599b8d4f37839dae0d18b8a2d2c71dadb2c
parentf64ef295032d07345ca26bf4876a1577c4dccb37 (diff)
downloadlinux-stable-1070c9655b90016ec4c9b59c402292e57ee15885.tar.gz
linux-stable-1070c9655b90016ec4c9b59c402292e57ee15885.tar.bz2
linux-stable-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>
-rw-r--r--arch/parisc/kernel/drivers.c11
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);
}