Przeglądaj źródła

Bluetooth: Add clarifying comment why schedule_work is used

It's not obvious why schedule_work is used instead of queue_work. Add
a comment explaining why.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Johan Hedberg 9 lat temu
rodzic
commit
0ebc181884
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      net/bluetooth/hci_conn.c

+ 4 - 0
net/bluetooth/hci_conn.c

@@ -178,6 +178,10 @@ static void hci_connect_le_scan_remove(struct hci_conn *conn)
 	hci_dev_hold(conn->hdev);
 	hci_conn_get(conn);
 
+	/* Even though we hold a reference to the hdev, many other
+	 * things might get cleaned up meanwhile, including the hdev's
+	 * own workqueue, so we can't use that for scheduling.
+	 */
 	schedule_work(&conn->le_scan_cleanup);
 }