Commit df5c37ea authored by Marcel Holtmann's avatar Marcel Holtmann Committed by David S. Miller

[Bluetooth] Handle return values from driver core functions

Some return values of the driver core register and create functions
are not handled and so might cause unexpected problems.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent e9c5702e
...@@ -242,10 +242,14 @@ static void add_conn(void *data) ...@@ -242,10 +242,14 @@ static void add_conn(void *data)
struct hci_conn *conn = data; struct hci_conn *conn = data;
int i; int i;
device_register(&conn->dev); if (device_register(&conn->dev) < 0) {
BT_ERR("Failed to register connection device");
return;
}
for (i = 0; conn_attrs[i]; i++) for (i = 0; conn_attrs[i]; i++)
device_create_file(&conn->dev, conn_attrs[i]); if (device_create_file(&conn->dev, conn_attrs[i]) < 0)
BT_ERR("Failed to create connection attribute");
} }
void hci_conn_add_sysfs(struct hci_conn *conn) void hci_conn_add_sysfs(struct hci_conn *conn)
...@@ -312,7 +316,8 @@ int hci_register_sysfs(struct hci_dev *hdev) ...@@ -312,7 +316,8 @@ int hci_register_sysfs(struct hci_dev *hdev)
return err; return err;
for (i = 0; bt_attrs[i]; i++) for (i = 0; bt_attrs[i]; i++)
device_create_file(dev, bt_attrs[i]); if (device_create_file(dev, bt_attrs[i]) < 0)
BT_ERR("Failed to create device attribute");
return 0; return 0;
} }
......
...@@ -2216,7 +2216,8 @@ static int __init l2cap_init(void) ...@@ -2216,7 +2216,8 @@ static int __init l2cap_init(void)
goto error; goto error;
} }
class_create_file(bt_class, &class_attr_l2cap); if (class_create_file(bt_class, &class_attr_l2cap) < 0)
BT_ERR("Failed to create L2CAP info file");
BT_INFO("L2CAP ver %s", VERSION); BT_INFO("L2CAP ver %s", VERSION);
BT_INFO("L2CAP socket layer initialized"); BT_INFO("L2CAP socket layer initialized");
......
...@@ -2058,7 +2058,8 @@ static int __init rfcomm_init(void) ...@@ -2058,7 +2058,8 @@ static int __init rfcomm_init(void)
kernel_thread(rfcomm_run, NULL, CLONE_KERNEL); kernel_thread(rfcomm_run, NULL, CLONE_KERNEL);
class_create_file(bt_class, &class_attr_rfcomm_dlc); if (class_create_file(bt_class, &class_attr_rfcomm_dlc) < 0)
BT_ERR("Failed to create RFCOMM info file");
rfcomm_init_sockets(); rfcomm_init_sockets();
......
...@@ -944,7 +944,8 @@ int __init rfcomm_init_sockets(void) ...@@ -944,7 +944,8 @@ int __init rfcomm_init_sockets(void)
if (err < 0) if (err < 0)
goto error; goto error;
class_create_file(bt_class, &class_attr_rfcomm); if (class_create_file(bt_class, &class_attr_rfcomm) < 0)
BT_ERR("Failed to create RFCOMM info file");
BT_INFO("RFCOMM socket layer initialized"); BT_INFO("RFCOMM socket layer initialized");
......
...@@ -967,7 +967,8 @@ static int __init sco_init(void) ...@@ -967,7 +967,8 @@ static int __init sco_init(void)
goto error; goto error;
} }
class_create_file(bt_class, &class_attr_sco); if (class_create_file(bt_class, &class_attr_sco) < 0)
BT_ERR("Failed to create SCO info file");
BT_INFO("SCO (Voice Link) ver %s", VERSION); BT_INFO("SCO (Voice Link) ver %s", VERSION);
BT_INFO("SCO socket layer initialized"); BT_INFO("SCO socket layer initialized");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment