Skip to contentSkip to conversation

tc: account for device_register() failure

PATCH Superseded Levente Kurusa 2 participants 3 messages Nov 15, 2013 – Apr 1, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tc: account for device_register() failure

This patch makes the TURBOchannel driver bail out if the call to device_register() failed.

---
 tc.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/tc/tc.c +8 -2
index a8aaf6a..6b3a038 100644
@@ -129,7 +129,10 @@ static void __init tc_bus_add_devices(struct tc_bus *tbus)
 
 		tc_device_get_irq(tdev);
 
-		device_register(&tdev->dev);
+		if (device_register(&tdev->dev)) {
+			put_device(&tdev->dev);
+			goto out_err;
+		}
 		list_add_tail(&tdev->node, &tbus->devices);
 
 out_err:
@@ -148,7 +151,10 @@ static int __init tc_init(void)
 
 	INIT_LIST_HEAD(&tc_bus.devices);
 	dev_set_name(&tc_bus.dev, "tc");
-	device_register(&tc_bus.dev);
+	if (device_register(&tc_bus.dev)) {
+		put_device(&tc_bus.dev);
+		return 0;	
+	}
 
 	if (tc_bus.info.slot_size) {
 		unsigned int tc_clock = tc_get_speed(&tc_bus) / 100000;
Acked-by on v1 1/1
#1 lore raw
Quoted 4 lines · Levente Kurusa

This patch makes the TURBOchannel driver bail out if the call to device_register() failed.

This fixes some build warnings:

drivers/tc/tc.c: In function 'tc_bus_add_devices':
drivers/tc/tc.c:132: warning: ignoring return value of 'device_register', declared with attribute warn_unused_result
drivers/tc/tc.c: In function 'tc_init':
drivers/tc/tc.c:151: warning: ignoring return value of 'device_register', declared with attribute warn_unused_result

Levente, thanks for your fix and apologies for the long RTT -- can you please resend your patch to <[email protected]> and Ralf so that it'll be pulled via the MIPS tree? I'll post a follow-up update to fix some issues with `tc_init' that I noticed thanks to your change.

Quoted 23 lines
---
 tc.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/tc/tc.c +4 -1
index a8aaf6a..6b3a038 100644
@@ -129,7 +129,10 @@ static void __init tc_bus_add_devices(struct tc_bus *tbus)
 
 		tc_device_get_irq(tdev);
 
-		device_register(&tdev->dev);
+		if (device_register(&tdev->dev)) {
+			put_device(&tdev->dev);
+			goto out_err;
+		}
 		list_add_tail(&tdev->node, &tbus->devices);
 
 out_err:
@@ -148,7 +151,10 @@ static int __init tc_init(void)
 

drivers/tc/tc.c static int __init tc_init(void) · line 160

Quoted 10 lines
drivers/tc/tc.c +4 -1
 	INIT_LIST_HEAD(&tc_bus.devices);
 	dev_set_name(&tc_bus.dev, "tc");
-	device_register(&tc_bus.dev);
+	if (device_register(&tc_bus.dev)) {
+		put_device(&tc_bus.dev);
+		return 0;	
+	}
 
 	if (tc_bus.info.slot_size) {
 		unsigned int tc_clock = tc_get_speed(&tc_bus) / 100000;

Maciej

#2 lore raw

Hi,

2014-04-01 2:30 GMT+02:00 Maciej W. Rozycki <[email protected]>:

Quoted 18 lines · Levente Kurusa
Quoted 5 lines

This patch makes the TURBOchannel driver bail out if the call to device_register() failed.

This fixes some build warnings:

drivers/tc/tc.c: In function 'tc_bus_add_devices':
drivers/tc/tc.c:132: warning: ignoring return value of 'device_register', declared with attribute warn_unused_result
drivers/tc/tc.c: In function 'tc_init':
drivers/tc/tc.c:151: warning: ignoring return value of 'device_register', declared with attribute warn_unused_result

Quoted 4 lines

Levente, thanks for your fix and apologies for the long RTT -- can you please resend your patch to <[email protected]> and Ralf so that it'll be pulled via the MIPS tree? I'll post a follow-up update to fix some issues with `tc_init' that I noticed thanks to your change.

Sure, I will repost in a few hours, I just need to get home. Thanks for the Ack!

Quoted 1 line

[...]

--
Regards,
Levente Kurusa