mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Conflicts: drivers/net/wireless/b43/dma.c drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
This commit is contained in:
commit
57adc1fcba
179 changed files with 8369 additions and 6924 deletions
|
@ -189,7 +189,7 @@ static int sco_connect(struct sock *sk)
|
|||
if (!hdev)
|
||||
return -EHOSTUNREACH;
|
||||
|
||||
hci_dev_lock_bh(hdev);
|
||||
hci_dev_lock(hdev);
|
||||
|
||||
if (lmp_esco_capable(hdev) && !disable_esco)
|
||||
type = ESCO_LINK;
|
||||
|
@ -225,7 +225,7 @@ static int sco_connect(struct sock *sk)
|
|||
}
|
||||
|
||||
done:
|
||||
hci_dev_unlock_bh(hdev);
|
||||
hci_dev_unlock(hdev);
|
||||
hci_dev_put(hdev);
|
||||
return err;
|
||||
}
|
||||
|
@ -893,15 +893,12 @@ done:
|
|||
}
|
||||
|
||||
/* ----- SCO interface with lower layer (HCI) ----- */
|
||||
static int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type)
|
||||
int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr)
|
||||
{
|
||||
register struct sock *sk;
|
||||
struct hlist_node *node;
|
||||
int lm = 0;
|
||||
|
||||
if (type != SCO_LINK && type != ESCO_LINK)
|
||||
return -EINVAL;
|
||||
|
||||
BT_DBG("hdev %s, bdaddr %s", hdev->name, batostr(bdaddr));
|
||||
|
||||
/* Find listening sockets */
|
||||
|
@ -921,13 +918,9 @@ static int sco_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 type)
|
|||
return lm;
|
||||
}
|
||||
|
||||
static int sco_connect_cfm(struct hci_conn *hcon, __u8 status)
|
||||
int sco_connect_cfm(struct hci_conn *hcon, __u8 status)
|
||||
{
|
||||
BT_DBG("hcon %p bdaddr %s status %d", hcon, batostr(&hcon->dst), status);
|
||||
|
||||
if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK)
|
||||
return -EINVAL;
|
||||
|
||||
if (!status) {
|
||||
struct sco_conn *conn;
|
||||
|
||||
|
@ -940,19 +933,15 @@ static int sco_connect_cfm(struct hci_conn *hcon, __u8 status)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sco_disconn_cfm(struct hci_conn *hcon, __u8 reason)
|
||||
int sco_disconn_cfm(struct hci_conn *hcon, __u8 reason)
|
||||
{
|
||||
BT_DBG("hcon %p reason %d", hcon, reason);
|
||||
|
||||
if (hcon->type != SCO_LINK && hcon->type != ESCO_LINK)
|
||||
return -EINVAL;
|
||||
|
||||
sco_conn_del(hcon, bt_to_errno(reason));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sco_recv_scodata(struct hci_conn *hcon, struct sk_buff *skb)
|
||||
int sco_recv_scodata(struct hci_conn *hcon, struct sk_buff *skb)
|
||||
{
|
||||
struct sco_conn *conn = hcon->sco_data;
|
||||
|
||||
|
@ -1028,15 +1017,6 @@ static const struct net_proto_family sco_sock_family_ops = {
|
|||
.create = sco_sock_create,
|
||||
};
|
||||
|
||||
static struct hci_proto sco_hci_proto = {
|
||||
.name = "SCO",
|
||||
.id = HCI_PROTO_SCO,
|
||||
.connect_ind = sco_connect_ind,
|
||||
.connect_cfm = sco_connect_cfm,
|
||||
.disconn_cfm = sco_disconn_cfm,
|
||||
.recv_scodata = sco_recv_scodata
|
||||
};
|
||||
|
||||
int __init sco_init(void)
|
||||
{
|
||||
int err;
|
||||
|
@ -1051,13 +1031,6 @@ int __init sco_init(void)
|
|||
goto error;
|
||||
}
|
||||
|
||||
err = hci_register_proto(&sco_hci_proto);
|
||||
if (err < 0) {
|
||||
BT_ERR("SCO protocol registration failed");
|
||||
bt_sock_unregister(BTPROTO_SCO);
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (bt_debugfs) {
|
||||
sco_debugfs = debugfs_create_file("sco", 0444,
|
||||
bt_debugfs, NULL, &sco_debugfs_fops);
|
||||
|
@ -1081,9 +1054,6 @@ void __exit sco_exit(void)
|
|||
if (bt_sock_unregister(BTPROTO_SCO) < 0)
|
||||
BT_ERR("SCO socket unregistration failed");
|
||||
|
||||
if (hci_unregister_proto(&sco_hci_proto) < 0)
|
||||
BT_ERR("SCO protocol unregistration failed");
|
||||
|
||||
proto_unregister(&sco_proto);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue