Skip to content

Commit

Permalink
[Bluetooth] Fix reference count when connection lookup fails
Browse files Browse the repository at this point in the history
When the connection lookup for the device structure fails, the reference
count for the HCI device needs to be decremented.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Marcel Holtmann authored and David S. Miller committed Oct 16, 2006
1 parent e86070c commit b2cfcd7
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 9 deletions.
4 changes: 1 addition & 3 deletions net/bluetooth/bnep/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -528,12 +528,10 @@ static struct device *bnep_get_device(struct bnep_session *session)
return NULL;

conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, dst);
if (!conn)
return NULL;

hci_dev_put(hdev);

return &conn->dev;
return conn ? &conn->dev : NULL;
}

int bnep_add_connection(struct bnep_connadd_req *req, struct socket *sock)
Expand Down
4 changes: 1 addition & 3 deletions net/bluetooth/hidp/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -541,12 +541,10 @@ static struct device *hidp_get_device(struct hidp_session *session)
return NULL;

conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, dst);
if (!conn)
return NULL;

hci_dev_put(hdev);

return &conn->dev;
return conn ? &conn->dev : NULL;
}

static inline void hidp_setup_input(struct hidp_session *session, struct hidp_connadd_req *req)
Expand Down
4 changes: 1 addition & 3 deletions net/bluetooth/rfcomm/tty.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,10 @@ static struct device *rfcomm_get_device(struct rfcomm_dev *dev)
return NULL;

conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &dev->dst);
if (!conn)
return NULL;

hci_dev_put(hdev);

return &conn->dev;
return conn ? &conn->dev : NULL;
}

static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)
Expand Down

0 comments on commit b2cfcd7

Please sign in to comment.