diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2006-06-17 11:26:02 +0000 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2006-06-17 11:26:02 +0000 | 
| commit | 57eb59510dc89b134cc35bdac9949bceab7da1d6 (patch) | |
| tree | 862fe19568169fab13a4fb42432ca320185248a4 | |
| parent | b296f5081912b00dd837109c44625e26734fbf3a (diff) | |
Ignore devices in raw mode
| -rw-r--r-- | hcid/device.c | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/hcid/device.c b/hcid/device.c index 987fa0c0..01262f0c 100644 --- a/hcid/device.c +++ b/hcid/device.c @@ -71,6 +71,8 @@ struct hci_conn {  };  struct hci_dev { +	int ignore; +  	bdaddr_t bdaddr;  	uint8_t  features[8];  	uint8_t  lmp_ver; @@ -105,8 +107,15 @@ int add_device(uint16_t dev_id)  	dev = &devices[dev_id]; -	if (hci_devinfo(dev_id, &di) < 0) +	if (hci_devinfo(dev_id, &di) < 0) { +		dev->ignore = 1;  		return -errno; +	} + +	if (hci_test_bit(HCI_RAW, &di.flags)) { +		info("Device hci%d is using raw mode", dev_id); +		dev->ignore = 1; +	}  	bacpy(&dev->bdaddr, &di.bdaddr);  	memcpy(dev->features, di.features, 8); @@ -157,6 +166,9 @@ int start_device(uint16_t dev_id)  	dev = &devices[dev_id]; +	if (dev->ignore) +		return 0; +  	dd = hci_open_dev(dev_id);  	if (dd < 0) {  		error("Can't open device hci%d", | 
