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
nexedi
linux
Commits
234d5bda
Commit
234d5bda
authored
Oct 27, 2004
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux-mh.bkbits.net/bluetooth-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6
parents
782f6ed2
6cdccfb0
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
8 deletions
+15
-8
drivers/bluetooth/hci_usb.c
drivers/bluetooth/hci_usb.c
+12
-3
drivers/bluetooth/hci_usb.h
drivers/bluetooth/hci_usb.h
+0
-3
include/net/bluetooth/hci.h
include/net/bluetooth/hci.h
+1
-1
net/bluetooth/hci_sock.c
net/bluetooth/hci_sock.c
+2
-1
No files found.
drivers/bluetooth/hci_usb.c
View file @
234d5bda
...
@@ -106,8 +106,9 @@ static struct usb_device_id blacklist_ids[] = {
...
@@ -106,8 +106,9 @@ static struct usb_device_id blacklist_ids[] = {
/* ISSC Bluetooth Adapter v3.1 */
/* ISSC Bluetooth Adapter v3.1 */
{
USB_DEVICE
(
0x1131
,
0x1001
),
.
driver_info
=
HCI_RESET
},
{
USB_DEVICE
(
0x1131
,
0x1001
),
.
driver_info
=
HCI_RESET
},
/* Digianswer device */
/* Digianswer device
s
*/
{
USB_DEVICE
(
0x08fd
,
0x0001
),
.
driver_info
=
HCI_DIGIANSWER
},
{
USB_DEVICE
(
0x08fd
,
0x0001
),
.
driver_info
=
HCI_DIGIANSWER
},
{
USB_DEVICE
(
0x08fd
,
0x0002
),
.
driver_info
=
HCI_IGNORE
},
/* RTX Telecom based adapter with buggy SCO support */
/* RTX Telecom based adapter with buggy SCO support */
{
USB_DEVICE
(
0x0400
,
0x0807
),
.
driver_info
=
HCI_BROKEN_ISOC
},
{
USB_DEVICE
(
0x0400
,
0x0807
),
.
driver_info
=
HCI_BROKEN_ISOC
},
...
@@ -795,6 +796,11 @@ static void hci_usb_destruct(struct hci_dev *hdev)
...
@@ -795,6 +796,11 @@ static void hci_usb_destruct(struct hci_dev *hdev)
kfree
(
husb
);
kfree
(
husb
);
}
}
static
void
hci_usb_notify
(
struct
hci_dev
*
hdev
,
unsigned
int
evt
)
{
BT_DBG
(
"%s evt %d"
,
hdev
->
name
,
evt
);
}
int
hci_usb_probe
(
struct
usb_interface
*
intf
,
const
struct
usb_device_id
*
id
)
int
hci_usb_probe
(
struct
usb_interface
*
intf
,
const
struct
usb_device_id
*
id
)
{
{
struct
usb_device
*
udev
=
interface_to_usbdev
(
intf
);
struct
usb_device
*
udev
=
interface_to_usbdev
(
intf
);
...
@@ -861,9 +867,9 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
...
@@ -861,9 +867,9 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
husb
->
intr_in_ep
=
intr_in_ep
;
husb
->
intr_in_ep
=
intr_in_ep
;
if
(
id
->
driver_info
&
HCI_DIGIANSWER
)
if
(
id
->
driver_info
&
HCI_DIGIANSWER
)
husb
->
ctrl_req
=
HCI_DIGI_REQ
;
husb
->
ctrl_req
=
USB_TYPE_VENDOR
;
else
else
husb
->
ctrl_req
=
HCI_CTRL_REQ
;
husb
->
ctrl_req
=
USB_TYPE_CLASS
;
/* Find isochronous endpoints that we can use */
/* Find isochronous endpoints that we can use */
size
=
0
;
size
=
0
;
...
@@ -911,7 +917,9 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
...
@@ -911,7 +917,9 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
BT_ERR
(
"Can't claim isoc interface"
);
BT_ERR
(
"Can't claim isoc interface"
);
else
if
(
usb_set_interface
(
udev
,
isoc_ifnum
,
isoc_alts
))
{
else
if
(
usb_set_interface
(
udev
,
isoc_ifnum
,
isoc_alts
))
{
BT_ERR
(
"Can't set isoc interface settings"
);
BT_ERR
(
"Can't set isoc interface settings"
);
husb
->
isoc_iface
=
isoc_iface
;
usb_driver_release_interface
(
&
hci_usb_driver
,
isoc_iface
);
usb_driver_release_interface
(
&
hci_usb_driver
,
isoc_iface
);
husb
->
isoc_iface
=
NULL
;
}
else
{
}
else
{
husb
->
isoc_iface
=
isoc_iface
;
husb
->
isoc_iface
=
isoc_iface
;
husb
->
isoc_in_ep
=
isoc_in_ep
;
husb
->
isoc_in_ep
=
isoc_in_ep
;
...
@@ -947,6 +955,7 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
...
@@ -947,6 +955,7 @@ int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
hdev
->
flush
=
hci_usb_flush
;
hdev
->
flush
=
hci_usb_flush
;
hdev
->
send
=
hci_usb_send_frame
;
hdev
->
send
=
hci_usb_send_frame
;
hdev
->
destruct
=
hci_usb_destruct
;
hdev
->
destruct
=
hci_usb_destruct
;
hdev
->
notify
=
hci_usb_notify
;
hdev
->
owner
=
THIS_MODULE
;
hdev
->
owner
=
THIS_MODULE
;
...
...
drivers/bluetooth/hci_usb.h
View file @
234d5bda
...
@@ -28,9 +28,6 @@
...
@@ -28,9 +28,6 @@
#define HCI_DEV_SUBCLASS 0x01
/* RF subclass */
#define HCI_DEV_SUBCLASS 0x01
/* RF subclass */
#define HCI_DEV_PROTOCOL 0x01
/* Bluetooth programming protocol */
#define HCI_DEV_PROTOCOL 0x01
/* Bluetooth programming protocol */
#define HCI_CTRL_REQ 0x20
#define HCI_DIGI_REQ 0x40
#define HCI_IGNORE 0x01
#define HCI_IGNORE 0x01
#define HCI_RESET 0x02
#define HCI_RESET 0x02
#define HCI_DIGIANSWER 0x04
#define HCI_DIGIANSWER 0x04
...
...
include/net/bluetooth/hci.h
View file @
234d5bda
...
@@ -108,7 +108,7 @@ enum {
...
@@ -108,7 +108,7 @@ enum {
#define HCI_ACLDATA_PKT 0x02
#define HCI_ACLDATA_PKT 0x02
#define HCI_SCODATA_PKT 0x03
#define HCI_SCODATA_PKT 0x03
#define HCI_EVENT_PKT 0x04
#define HCI_EVENT_PKT 0x04
#define HCI_
UNKNOWN
_PKT 0xff
#define HCI_
VENDOR
_PKT 0xff
/* HCI Packet types */
/* HCI Packet types */
#define HCI_DM1 0x0008
#define HCI_DM1 0x0008
...
...
net/bluetooth/hci_sock.c
View file @
234d5bda
...
@@ -111,7 +111,8 @@ void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb)
...
@@ -111,7 +111,8 @@ void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb)
/* Apply filter */
/* Apply filter */
flt
=
&
hci_pi
(
sk
)
->
filter
;
flt
=
&
hci_pi
(
sk
)
->
filter
;
if
(
!
test_bit
((
skb
->
pkt_type
&
HCI_FLT_TYPE_BITS
),
&
flt
->
type_mask
))
if
(
!
test_bit
((
skb
->
pkt_type
==
HCI_VENDOR_PKT
)
?
0
:
(
skb
->
pkt_type
&
HCI_FLT_TYPE_BITS
),
&
flt
->
type_mask
))
continue
;
continue
;
if
(
skb
->
pkt_type
==
HCI_EVENT_PKT
)
{
if
(
skb
->
pkt_type
==
HCI_EVENT_PKT
)
{
...
...
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