Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
5d59bbce
Commit
5d59bbce
authored
Sep 19, 2011
by
John W. Linville
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'for-3.1' of
git://github.com/padovan/bluetooth-next
parents
2249b011
f78b6826
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
17 deletions
+22
-17
drivers/bluetooth/btusb.c
drivers/bluetooth/btusb.c
+6
-0
drivers/bluetooth/btwilink.c
drivers/bluetooth/btwilink.c
+8
-8
net/bluetooth/hci_event.c
net/bluetooth/hci_event.c
+8
-9
No files found.
drivers/bluetooth/btusb.c
View file @
5d59bbce
...
@@ -72,9 +72,15 @@ static struct usb_device_id btusb_table[] = {
...
@@ -72,9 +72,15 @@ static struct usb_device_id btusb_table[] = {
/* Apple MacBookAir3,1, MacBookAir3,2 */
/* Apple MacBookAir3,1, MacBookAir3,2 */
{
USB_DEVICE
(
0x05ac
,
0x821b
)
},
{
USB_DEVICE
(
0x05ac
,
0x821b
)
},
/* Apple MacBookAir4,1 */
{
USB_DEVICE
(
0x05ac
,
0x821f
)
},
/* Apple MacBookPro8,2 */
/* Apple MacBookPro8,2 */
{
USB_DEVICE
(
0x05ac
,
0x821a
)
},
{
USB_DEVICE
(
0x05ac
,
0x821a
)
},
/* Apple MacMini5,1 */
{
USB_DEVICE
(
0x05ac
,
0x8281
)
},
/* AVM BlueFRITZ! USB v2.0 */
/* AVM BlueFRITZ! USB v2.0 */
{
USB_DEVICE
(
0x057c
,
0x3800
)
},
{
USB_DEVICE
(
0x057c
,
0x3800
)
},
...
...
drivers/bluetooth/btwilink.c
View file @
5d59bbce
...
@@ -124,6 +124,13 @@ static long st_receive(void *priv_data, struct sk_buff *skb)
...
@@ -124,6 +124,13 @@ static long st_receive(void *priv_data, struct sk_buff *skb)
/* ------- Interfaces to HCI layer ------ */
/* ------- Interfaces to HCI layer ------ */
/* protocol structure registered with shared transport */
/* protocol structure registered with shared transport */
static
struct
st_proto_s
ti_st_proto
[
MAX_BT_CHNL_IDS
]
=
{
static
struct
st_proto_s
ti_st_proto
[
MAX_BT_CHNL_IDS
]
=
{
{
.
chnl_id
=
HCI_EVENT_PKT
,
/* HCI Events */
.
hdr_len
=
sizeof
(
struct
hci_event_hdr
),
.
offset_len_in_hdr
=
offsetof
(
struct
hci_event_hdr
,
plen
),
.
len_size
=
1
,
/* sizeof(plen) in struct hci_event_hdr */
.
reserve
=
8
,
},
{
{
.
chnl_id
=
HCI_ACLDATA_PKT
,
/* ACL */
.
chnl_id
=
HCI_ACLDATA_PKT
,
/* ACL */
.
hdr_len
=
sizeof
(
struct
hci_acl_hdr
),
.
hdr_len
=
sizeof
(
struct
hci_acl_hdr
),
...
@@ -138,13 +145,6 @@ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = {
...
@@ -138,13 +145,6 @@ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = {
.
len_size
=
1
,
/* sizeof(dlen) in struct hci_sco_hdr */
.
len_size
=
1
,
/* sizeof(dlen) in struct hci_sco_hdr */
.
reserve
=
8
,
.
reserve
=
8
,
},
},
{
.
chnl_id
=
HCI_EVENT_PKT
,
/* HCI Events */
.
hdr_len
=
sizeof
(
struct
hci_event_hdr
),
.
offset_len_in_hdr
=
offsetof
(
struct
hci_event_hdr
,
plen
),
.
len_size
=
1
,
/* sizeof(plen) in struct hci_event_hdr */
.
reserve
=
8
,
},
};
};
/* Called from HCI core to initialize the device */
/* Called from HCI core to initialize the device */
...
@@ -240,7 +240,7 @@ static int ti_st_close(struct hci_dev *hdev)
...
@@ -240,7 +240,7 @@ static int ti_st_close(struct hci_dev *hdev)
if
(
!
test_and_clear_bit
(
HCI_RUNNING
,
&
hdev
->
flags
))
if
(
!
test_and_clear_bit
(
HCI_RUNNING
,
&
hdev
->
flags
))
return
0
;
return
0
;
for
(
i
=
0
;
i
<
MAX_BT_CHNL_IDS
;
i
++
)
{
for
(
i
=
MAX_BT_CHNL_IDS
-
1
;
i
>=
0
;
i
--
)
{
err
=
st_unregister
(
&
ti_st_proto
[
i
]);
err
=
st_unregister
(
&
ti_st_proto
[
i
]);
if
(
err
)
if
(
err
)
BT_ERR
(
"st_unregister(%d) failed with error %d"
,
BT_ERR
(
"st_unregister(%d) failed with error %d"
,
...
...
net/bluetooth/hci_event.c
View file @
5d59bbce
...
@@ -58,8 +58,8 @@ static void hci_cc_inquiry_cancel(struct hci_dev *hdev, struct sk_buff *skb)
...
@@ -58,8 +58,8 @@ static void hci_cc_inquiry_cancel(struct hci_dev *hdev, struct sk_buff *skb)
if
(
status
)
if
(
status
)
return
;
return
;
if
(
test_
bit
(
HCI_MGMT
,
&
hdev
->
flags
)
&&
if
(
test_
and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
)
&&
test_and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
))
test_bit
(
HCI_MGMT
,
&
hdev
->
flags
))
mgmt_discovering
(
hdev
->
id
,
0
);
mgmt_discovering
(
hdev
->
id
,
0
);
hci_req_complete
(
hdev
,
HCI_OP_INQUIRY_CANCEL
,
status
);
hci_req_complete
(
hdev
,
HCI_OP_INQUIRY_CANCEL
,
status
);
...
@@ -76,8 +76,8 @@ static void hci_cc_exit_periodic_inq(struct hci_dev *hdev, struct sk_buff *skb)
...
@@ -76,8 +76,8 @@ static void hci_cc_exit_periodic_inq(struct hci_dev *hdev, struct sk_buff *skb)
if
(
status
)
if
(
status
)
return
;
return
;
if
(
test_
bit
(
HCI_MGMT
,
&
hdev
->
flags
)
&&
if
(
test_
and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
)
&&
test_
and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
))
test_
bit
(
HCI_MGMT
,
&
hdev
->
flags
))
mgmt_discovering
(
hdev
->
id
,
0
);
mgmt_discovering
(
hdev
->
id
,
0
);
hci_conn_check_pending
(
hdev
);
hci_conn_check_pending
(
hdev
);
...
@@ -959,9 +959,8 @@ static inline void hci_cs_inquiry(struct hci_dev *hdev, __u8 status)
...
@@ -959,9 +959,8 @@ static inline void hci_cs_inquiry(struct hci_dev *hdev, __u8 status)
return
;
return
;
}
}
if
(
test_bit
(
HCI_MGMT
,
&
hdev
->
flags
)
&&
if
(
!
test_and_set_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
)
&&
!
test_and_set_bit
(
HCI_INQUIRY
,
test_bit
(
HCI_MGMT
,
&
hdev
->
flags
))
&
hdev
->
flags
))
mgmt_discovering
(
hdev
->
id
,
1
);
mgmt_discovering
(
hdev
->
id
,
1
);
}
}
...
@@ -1340,8 +1339,8 @@ static inline void hci_inquiry_complete_evt(struct hci_dev *hdev, struct sk_buff
...
@@ -1340,8 +1339,8 @@ static inline void hci_inquiry_complete_evt(struct hci_dev *hdev, struct sk_buff
BT_DBG
(
"%s status %d"
,
hdev
->
name
,
status
);
BT_DBG
(
"%s status %d"
,
hdev
->
name
,
status
);
if
(
test_
bit
(
HCI_MGMT
,
&
hdev
->
flags
)
&&
if
(
test_
and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
)
&&
test_
and_clear_bit
(
HCI_INQUIRY
,
&
hdev
->
flags
))
test_
bit
(
HCI_MGMT
,
&
hdev
->
flags
))
mgmt_discovering
(
hdev
->
id
,
0
);
mgmt_discovering
(
hdev
->
id
,
0
);
hci_req_complete
(
hdev
,
HCI_OP_INQUIRY
,
status
);
hci_req_complete
(
hdev
,
HCI_OP_INQUIRY
,
status
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment